RustFS 1.0.0-rc.2 (rc)
- perf(filemeta): reduce meta object key allocations by @houseme in https://github.com/rustfs/rustfs/pull/5836
- fix(filemeta): classify xl.meta CRC mismatch as FileCorrupt so heal repairs it by @terem42 in https://github.com/rustfs/rustfs/pull/5838
- fix(iam): preserve OIDC outbound policy errors by @GatewayJ in https://github.com/rustfs/rustfs/pull/5762
- fix(iam): stabilize OIDC provider ordering by @GatewayJ in https://github.com/rustfs/rustfs/pull/5832
- test(filemeta): cover crc heal classification by @houseme in https://github.com/rustfs/rustfs/pull/5841
- fix(rebalance): fence peers before activation by @cxymds in https://github.com/rustfs/rustfs/pull/5842
- fix(multipart): recover part transactions by write quorum by @houseme in https://github.com/rustfs/rustfs/pull/5844
- fix(rebalance): fence writer pool lookups by @cxymds in https://github.com/rustfs/rustfs/pull/5845
- fix(rebalance): fence batch delete source pools by @cxymds in https://github.com/rustfs/rustfs/pull/5846
- fix(admin): return upgrade-required for v4 fallback by @houseme in https://github.com/rustfs/rustfs/pull/5847
- chore: harden hotpath profiling artifact collection by @houseme in https://github.com/rustfs/rustfs/pull/5848
- fix: isolate ssh stdin in hotpath artifact collection by @houseme in https://github.com/rustfs/rustfs/pull/5851
- chore(deps): fix cargo shear dependency metadata by @houseme in https://github.com/rustfs/rustfs/pull/5854
- fix(heal): respect scoped object repair limits by @cxymds in https://github.com/rustfs/rustfs/pull/5855
- fix(get): pin resume reads to resolved version by @cxymds in https://github.com/rustfs/rustfs/pull/5859
- fix(ecstore): fence bucket memo on live lock loss by @cxymds in https://github.com/rustfs/rustfs/pull/5852
- fix(ecstore): bound decommission listing retries by @cxymds in https://github.com/rustfs/rustfs/pull/5861
- fix(rpc): authenticate internode put file bodies by @cxymds in https://github.com/rustfs/rustfs/pull/5868
- chore(hotpath): add samply symbol summary tools by @houseme in https://github.com/rustfs/rustfs/pull/5875
- fix(build): support non-Linux Unix targets (illumos/Solaris/*BSD) by @yyyCode in https://github.com/rustfs/rustfs/pull/5853
- fix(replication): rebuild SSE metadata boundary for encrypted objects by @reatang in https://github.com/rustfs/rustfs/pull/5872
- fix(heal): defer scoped repair on suspended pools by @cxymds in https://github.com/rustfs/rustfs/pull/5876
- fix(rpc): make authenticated file writes atomic by @cxymds in https://github.com/rustfs/rustfs/pull/5879
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/5884
- fix(select): pin object snapshot for query lifetime by @GatewayJ in https://github.com/rustfs/rustfs/pull/5835
- fix(admin): answer background-heal/status partially when peers are unreachable by @terem42 in https://github.com/rustfs/rustfs/pull/5862
- docs(ci): make e2e-replication-nightly test-count comments drift-resistant by @reatang in https://github.com/rustfs/rustfs/pull/5866
- fix(heal): log the number of drives actually healed, not the drives consulted by @terem42 in https://github.com/rustfs/rustfs/pull/5871
- fix(policy): accept object lock mode condition by @overtrue in https://github.com/rustfs/rustfs/pull/5874
- fix(replication): persist REPLICA status on inbound replication writes by @reatang in https://github.com/rustfs/rustfs/pull/5878
- test(replication): cover rule id byte limit by @overtrue in https://github.com/rustfs/rustfs/pull/5873
- fix(ecstore): rename stale two_set_test_sets references to make_local_two_set_sets by @overtrue in https://github.com/rustfs/rustfs/pull/5886
- fix(ecstore): use existing two-set test fixture by @houseme in https://github.com/rustfs/rustfs/pull/5887
- feat: add hotpath observability for S3 data paths by @houseme in https://github.com/rustfs/rustfs/pull/5860
- fix(admin): allow owner service account updates by @houseme in https://github.com/rustfs/rustfs/pull/5889
- perf(get): reduce response write allocations by @houseme in https://github.com/rustfs/rustfs/pull/5890
- feat(replication): replicate managed-SSE objects via target re-encryption by @reatang in https://github.com/rustfs/rustfs/pull/5885
- perf(http): reduce tracing/logging hotpath overhead by @houseme in https://github.com/rustfs/rustfs/pull/5893
- fix(replication): make resync recovery resilient by @cxymds in https://github.com/rustfs/rustfs/pull/5883
- fix(rpc): negotiate authenticated file writes by @cxymds in https://github.com/rustfs/rustfs/pull/5880
- fix(docker): support TZ environment variable by @RamakrishnaChilaka in https://github.com/rustfs/rustfs/pull/5891
- docs: update security advisory lessons by @overtrue in https://github.com/rustfs/rustfs/pull/5896
- test: promote passing S3 compatibility cases by @overtrue in https://github.com/rustfs/rustfs/pull/5895
- perf(get): reduce response body chunk overhead by @houseme in https://github.com/rustfs/rustfs/pull/5897
- fix(ecstore): anchor Windows rename publication by @marshawcoco in https://github.com/rustfs/rustfs/pull/5677
- feat(replication): SSE-C ciphertext passthrough replication by @reatang in https://github.com/rustfs/rustfs/pull/5898
- test(ecstore): decouple kubernetes endpoint tests from kernel hostname by @reatang in https://github.com/rustfs/rustfs/pull/5900
- fix(ecstore): raise replay cache auto headroom by @houseme in https://github.com/rustfs/rustfs/pull/5902
- test(ecstore): pin persisted metadata key literals and bucket config goldens by @overtrue in https://github.com/rustfs/rustfs/pull/5904
- perf(get): avoid zeroing response body chunks by @houseme in https://github.com/rustfs/rustfs/pull/5905
- fix(heal): harden replacement rebuild tracking by @houseme in https://github.com/rustfs/rustfs/pull/5892
- feat(heal): expose replacement recovery status by @houseme in https://github.com/rustfs/rustfs/pull/5912
- build(deps): use RustFS s3s fork by @GatewayJ in https://github.com/rustfs/rustfs/pull/5901
- fix: prevent tilde expansion in DEB version substitution by @majinghe in https://github.com/rustfs/rustfs/pull/5913
- docs(agents): tighten production code growth rules by @overtrue in https://github.com/rustfs/rustfs/pull/5907
- feat(heal): aggregate replacement recovery status by @houseme in https://github.com/rustfs/rustfs/pull/5916
- perf(ecstore): gate bounded GET metadata fanout by @houseme in https://github.com/rustfs/rustfs/pull/5917
- test(heal): cover replacement target evidence failures by @houseme in https://github.com/rustfs/rustfs/pull/5919
- test(heal): cover replacement terminal recovery by @houseme in https://github.com/rustfs/rustfs/pull/5920
- perf(ecstore): expose replay cache RPC sources by @houseme in https://github.com/rustfs/rustfs/pull/5926
- fix(iam): merge OIDC extra root CAs by @houseme in https://github.com/rustfs/rustfs/pull/5915
- fix: create config file before fpm RPM packaging by @majinghe in https://github.com/rustfs/rustfs/pull/5924
- fix: correct SNSD cluster diagnostics by @cxymds in https://github.com/rustfs/rustfs/pull/5930
- perf(ecstore): keep bounded GET fanout opt-in by @houseme in https://github.com/rustfs/rustfs/pull/5929
- fix(replication): retry, persist and replay failed delete-marker purges by @reatang in https://github.com/rustfs/rustfs/pull/5864
- test(admin): relax object-lambda SNI test timeout under full-suite load by @reatang in https://github.com/rustfs/rustfs/pull/5923
- test(ecstore): update prepared GET fanout default by @houseme in https://github.com/rustfs/rustfs/pull/5932
- perf(ecstore): hedge bounded GET metadata fanout by @houseme in https://github.com/rustfs/rustfs/pull/5935
- fix(scanner): skip disk inventory in scan spans by @marshawcoco in https://github.com/rustfs/rustfs/pull/5933
- fix(rpc): negotiate replay-safe mutation authentication by @cxymds in https://github.com/rustfs/rustfs/pull/5928
- fix(ecstore): publish multipart parts on Windows by @Ivanbeethoven in https://github.com/rustfs/rustfs/pull/5937
- fix: report stalled object traffic as unready by @cxymds in https://github.com/rustfs/rustfs/pull/5936
- fix(replication): probe the version-identity contract in replication-check by @reatang in https://github.com/rustfs/rustfs/pull/5881
- perf(ecstore): raise replay cache auto capacity by @houseme in https://github.com/rustfs/rustfs/pull/5946
- test(replication): pin the scanner existing-object compensation matrix by @reatang in https://github.com/rustfs/rustfs/pull/5877
- fix(site-replication): route state RMW through one locked transaction by @reatang in https://github.com/rustfs/rustfs/pull/5882
- fix: exclude e2e_test from s3s footprint ratchet baseline by @overtrue in https://github.com/rustfs/rustfs/pull/5949
- perf(lock): bound distributed read lock fanout by @houseme in https://github.com/rustfs/rustfs/pull/5952
- test(heal): add privileged replacement rebuild e2e by @houseme in https://github.com/rustfs/rustfs/pull/5918
- fix(heal): quiet deferred replacement recovery logs by @houseme in https://github.com/rustfs/rustfs/pull/5954
- fix(table-catalog): harden commit publication by @marshawcoco in https://github.com/rustfs/rustfs/pull/5779
- perf(get): tune body stream buffers by @houseme in https://github.com/rustfs/rustfs/pull/5959
- perf(ecstore): bound strict inline commit syncs by @cxymds in https://github.com/rustfs/rustfs/pull/5931
- fix(quota): reject oversized multipart completion by @cxymds in https://github.com/rustfs/rustfs/pull/5958
- fix(gateway): api flag https redirect by @sass1997 in https://github.com/rustfs/rustfs/pull/5960
- fix(select): enforce typed S3 Select error semantics by @GatewayJ in https://github.com/rustfs/rustfs/pull/5942
- fix: update s3s footprint baseline after table-catalog hardening by @overtrue in https://github.com/rustfs/rustfs/pull/5964
- perf(get): cache read descriptors in StdBackend by @houseme in https://github.com/rustfs/rustfs/pull/5965
- perf(get): enable inline direct-read by default + versioned buckets (#1802) by @houseme in https://github.com/rustfs/rustfs/pull/5966
- perf(get): slim metadata fanout allocations by @houseme in https://github.com/rustfs/rustfs/pull/5968
- feat: add GET stream failure observability by @houseme in https://github.com/rustfs/rustfs/pull/5967
- feat(ecstore): seed relaxed durability for new buckets by @houseme in https://github.com/rustfs/rustfs/pull/5971
- docs(durability): document the new-bucket relaxed default by @houseme in https://github.com/rustfs/rustfs/pull/5973
- fix(get): give UringBackend the only fd cache for its disk by @houseme in https://github.com/rustfs/rustfs/pull/5974
- perf(rpc): size remote shard read buffers by @GatewayJ in https://github.com/rustfs/rustfs/pull/5972
- fix(table-catalog): support apache-avro 0.22 by @marshawcoco in https://github.com/rustfs/rustfs/pull/5975
- perf(get): trim direct-read metadata allocations by @houseme in https://github.com/rustfs/rustfs/pull/5976
- docs: sync ARCHITECTURE.md structural inventory with measured state by @overtrue in https://github.com/rustfs/rustfs/pull/5977
- fix(s3): return InvalidArgument for mismatched ListMultipartUploads key-marker by @ylw510 in https://github.com/rustfs/rustfs/pull/5914
- test(heal): strengthen replacement e2e evidence by @overtrue in https://github.com/rustfs/rustfs/pull/5956
- fix(table-catalog): harden strong backing compatibility by @marshawcoco in https://github.com/rustfs/rustfs/pull/5941
- fix(ecstore): map disk-representable StorageError variants in reverse conversion by @overtrue in https://github.com/rustfs/rustfs/pull/5980
- fix(data-usage): make thin usage-cache types a read-only projection by @overtrue in https://github.com/rustfs/rustfs/pull/5981
- chore(ecstore): remove dead MinIO-port client modules (~940 lines) by @overtrue in https://github.com/rustfs/rustfs/pull/5982
- fix(ecstore): attribute internal metadata GET metrics by @houseme in https://github.com/rustfs/rustfs/pull/5983
- perf(ecstore): reduce inline GET fixed costs by @houseme in https://github.com/rustfs/rustfs/pull/5985
- perf(ecstore): reduce small PUT fixed costs by @houseme in https://github.com/rustfs/rustfs/pull/5987
- fix(admin): clarify invalid group name errors by @GatewayJ in https://github.com/rustfs/rustfs/pull/5986
- fix(scanner): defer cycles during data movement by @marshawcoco in https://github.com/rustfs/rustfs/pull/5970
- fix(heal): cancel cluster tasks from root stop by @marshawcoco in https://github.com/rustfs/rustfs/pull/5978
- chore(rustfs): remove dead keystone shadow auth path by @overtrue in https://github.com/rustfs/rustfs/pull/5988
- feat(table-catalog): add atomic table rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/5989
- chore: remove commented-out test corpses (~330 lines) by @overtrue in https://github.com/rustfs/rustfs/pull/5994
- docs(kms): add rotation driver matrix and rotation-overdue alert by @overtrue in https://github.com/rustfs/rustfs/pull/5992
- docs(replication): register the http interop duplication and pin its wire values by @overtrue in https://github.com/rustfs/rustfs/pull/5996
- chore(kms): import canonical internal encryption header constants by @overtrue in https://github.com/rustfs/rustfs/pull/5997
- chore(rustfs): import canonical encryption header constants in select_object by @overtrue in https://github.com/rustfs/rustfs/pull/5998
- test: assert real behavior in three assertion-less tests by @overtrue in https://github.com/rustfs/rustfs/pull/5993
- fix(ecstore): scope UploadPart commit lock per part number by @overtrue in https://github.com/rustfs/rustfs/pull/5990
- ci(kms): add a nightly live-Vault lane and stop leaking behavior keys by @overtrue in https://github.com/rustfs/rustfs/pull/5999
- test(e2e): fold nine identical POST-policy rejection tests into one table by @overtrue in https://github.com/rustfs/rustfs/pull/6000
- perf(ecstore): keep decode scratch buffers inline by @houseme in https://github.com/rustfs/rustfs/pull/6002
- perf(get): include small objects in codec streaming by @houseme in https://github.com/rustfs/rustfs/pull/6004
- refactor(kms): consolidate encryption metadata key constants into their shared home by @overtrue in https://github.com/rustfs/rustfs/pull/5995
- perf(get): share metadata cache hits by @houseme in https://github.com/rustfs/rustfs/pull/6010
- fix(admin): report live bucket count during usage scan by @houseme in https://github.com/rustfs/rustfs/pull/6014
- perf(get): reuse reader paths and lock namespaces by @houseme in https://github.com/rustfs/rustfs/pull/6015
- perf(ecstore): release PUT lock before old-data cleanup by @houseme in https://github.com/rustfs/rustfs/pull/6023
- fix(ecstore): retry manual ILM job CAS updates by @houseme in https://github.com/rustfs/rustfs/pull/6012
- perf(get): reduce request entry allocations by @houseme in https://github.com/rustfs/rustfs/pull/6029
- feat(kms): observe unknown fields in the last three silent persisted formats by @overtrue in https://github.com/rustfs/rustfs/pull/6003
- fix(iam): remove eight dead error variants and make Clone variant-preserving by @overtrue in https://github.com/rustfs/rustfs/pull/6030
- chore(io-metrics): remove the zero-consumer config module (391 lines) by @overtrue in https://github.com/rustfs/rustfs/pull/6008
- fix(versioning): reject suspending versioning while a replication config exists by @overtrue in https://github.com/rustfs/rustfs/pull/6006
- fix(site-replication): admit same-generation peer-edit fan-out bodies by @overtrue in https://github.com/rustfs/rustfs/pull/6007
- chore(common): remove dead bucket_stats module and LastMinuteHistogram by @overtrue in https://github.com/rustfs/rustfs/pull/6011
- chore(ecstore): remove test-only BitrotErrorType and pin wire-only disk variants by @overtrue in https://github.com/rustfs/rustfs/pull/6032
- docs(policy): pin the deliberate slash-only path.Clean duplication by @overtrue in https://github.com/rustfs/rustfs/pull/6013
- fix(sse): align copy-path unknown-algorithm fallback with put path by @overtrue in https://github.com/rustfs/rustfs/pull/6022
- test(e2e): fold seven identical POST-policy exact-mismatch tests into one table by @overtrue in https://github.com/rustfs/rustfs/pull/6016
- docs(io-metrics): remove stale unified-config docs left by #6008 by @overtrue in https://github.com/rustfs/rustfs/pull/6039
- chore(ecstore): collapse the expiry worker knobs to one documented env var by @overtrue in https://github.com/rustfs/rustfs/pull/6034
- feat(sse): report the wrapping master-key version on S3 audit entries by @overtrue in https://github.com/rustfs/rustfs/pull/6005
- feat(kms): reserve and expose KV2 wrap-budget consumption by @overtrue in https://github.com/rustfs/rustfs/pull/6019
- refactor(admin): add authorize_admin_request and fold four local wrappers by @overtrue in https://github.com/rustfs/rustfs/pull/6020
- test(io-metrics): assert metric emission in six modules of record_* smoke tests by @overtrue in https://github.com/rustfs/rustfs/pull/6021
- docs(checksums): cross-reference the three checksum registries by @overtrue in https://github.com/rustfs/rustfs/pull/6024
- refactor(utils): add shared retry_with_backoff and migrate target_descriptor by @overtrue in https://github.com/rustfs/rustfs/pull/6026
- test(kms): pin ILM behavior on SSE-KMS buckets under key-policy enforcement by @overtrue in https://github.com/rustfs/rustfs/pull/6027
- chore(rustfs): remove the orphan starshard bucket-cache backend by @overtrue in https://github.com/rustfs/rustfs/pull/6038
- fix(kms): let the Vault Transit backend start against an empty transit engine by @overtrue in https://github.com/rustfs/rustfs/pull/6040
- docs(operations): record the two experimental GET-path switches by @overtrue in https://github.com/rustfs/rustfs/pull/6041
- chore(ecstore): compile the list-objects chaos injector out of production builds by @overtrue in https://github.com/rustfs/rustfs/pull/6042
- fix(kms): tell an empty KV2 prefix from a missing mount on Vault's 404 by @overtrue in https://github.com/rustfs/rustfs/pull/6043
- test(rustfs): un-ignore the nine node_service global-state tests by @overtrue in https://github.com/rustfs/rustfs/pull/6047
- test: un-ignore the remaining seven global-state tests, drop one stale premise by @overtrue in https://github.com/rustfs/rustfs/pull/6048
- test: give the twenty-one bare #[ignore] attributes their reasons by @overtrue in https://github.com/rustfs/rustfs/pull/6049
- fix(table-catalog): isolate metadata after table rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/6050
- docs(guards): make the layer-dependency baseline an explicit shrink-only ratchet by @overtrue in https://github.com/rustfs/rustfs/pull/6053
- fix(kms): construct wrap_budget_reserved in the VaultKeyData deserializer by @overtrue in https://github.com/rustfs/rustfs/pull/6055
- perf(ecstore): avoid per-block shard vector allocation by @houseme in https://github.com/rustfs/rustfs/pull/6037
- fix(ecstore): bound remote metadata read retries by @houseme in https://github.com/rustfs/rustfs/pull/6035
- perf(ecstore): reduce inline PUT commit overhead by @houseme in https://github.com/rustfs/rustfs/pull/6033
- chore(io-metrics): make the server label injected, drop two leaf-violating deps by @overtrue in https://github.com/rustfs/rustfs/pull/6051
- test(rustfs): un-ignore the fourteen ecfs_test global-state tests by @overtrue in https://github.com/rustfs/rustfs/pull/6046
- refactor(rustfs): move layer-neutral shared types out of server by @overtrue in https://github.com/rustfs/rustfs/pull/6061
- chore(deps): refresh mimalloc revision by @houseme in https://github.com/rustfs/rustfs/pull/6062
- perf(put): avoid eager body zero fill by @houseme in https://github.com/rustfs/rustfs/pull/6063
- fix(rebalance): converge multipart data movement retries by @cxymds in https://github.com/rustfs/rustfs/pull/6057
- perf(ecstore): retain remote shard HTTP chunks by @GatewayJ in https://github.com/rustfs/rustfs/pull/5991
- perf(storage): converge Wave 2 hot-path optimizations by @houseme in https://github.com/rustfs/rustfs/pull/6065
- test(table-catalog): extract the shared avro/json fixture constructors by @overtrue in https://github.com/rustfs/rustfs/pull/6066
- fix(ecstore): retain commit owners across cancellation by @houseme in https://github.com/rustfs/rustfs/pull/6068
- fix(copy): keep copy commit owner alive by @houseme in https://github.com/rustfs/rustfs/pull/6070
- perf(ecstore): guard inline data-read metadata early-stop by @houseme in https://github.com/rustfs/rustfs/pull/6069
- feat(kms): report a key as due for rotation once its wrap budget is spent by @overtrue in https://github.com/rustfs/rustfs/pull/6059
- refactor(sse): sink managed-SSE attribution into the shared encryption-keys module by @overtrue in https://github.com/rustfs/rustfs/pull/6017
- feat(ecstore): expose read version stage metrics by @houseme in https://github.com/rustfs/rustfs/pull/6073
- perf(ecstore): scale inline threshold by EC layout by @houseme in https://github.com/rustfs/rustfs/pull/6075
- perf(ecstore): reuse erasure codecs on GET paths by @houseme in https://github.com/rustfs/rustfs/pull/6074
- fix(ecstore): reconcile object cleanup receipts by @houseme in https://github.com/rustfs/rustfs/pull/6077
- perf(ecstore): shorten multipart commit lock tail by @houseme in https://github.com/rustfs/rustfs/pull/6080
- chore(ecstore): drop the config, core, data_movement, object_api and event blankets by @overtrue in https://github.com/rustfs/rustfs/pull/6087
- chore(obs): drop 44 dead_code blankets from the metrics tree by @overtrue in https://github.com/rustfs/rustfs/pull/6086
- chore(ecstore): drop the runtime and error dead_code blankets by @overtrue in https://github.com/rustfs/rustfs/pull/6085
- chore(ecstore): drop the diagnostics dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6083
- chore(ecstore): drop the layout dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6084
- chore(ecstore): drop the io_support dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6082
- chore(rustfs): drop two dead_code allows sitting on live code by @overtrue in https://github.com/rustfs/rustfs/pull/6081
- chore(heal): remove seven dead error variants by @overtrue in https://github.com/rustfs/rustfs/pull/6031
- ci: gate rio-v2 full-suite jobs on schedule; document lifecycle by @overtrue in https://github.com/rustfs/rustfs/pull/6036
- chore(ecstore): drop the cluster and erasure dead_code blankets by @overtrue in https://github.com/rustfs/rustfs/pull/6088
- docs(architecture): sync migration guard docs by @cxymds in https://github.com/rustfs/rustfs/pull/6092
- test(table-catalog): share the stateful object backend across both test files by @overtrue in https://github.com/rustfs/rustfs/pull/6071
- fix(log-analyzer): drop stale heal rule anchor by @cxymds in https://github.com/rustfs/rustfs/pull/6102
- fix(quota): enforce durable hard quota reservations by @cxymds in https://github.com/rustfs/rustfs/pull/6058
- test(rpc): align snapshot lease missing-disk expectation by @houseme in https://github.com/rustfs/rustfs/pull/6108
- perf(get): avoid materialized body clone by @houseme in https://github.com/rustfs/rustfs/pull/6109
- fix: resolve quota rollout CI regressions by @cxymds in https://github.com/rustfs/rustfs/pull/6106
- perf(ecstore): borrow rename metadata during commit fanout by @houseme in https://github.com/rustfs/rustfs/pull/6104
- fix(ecstore): allow migrated unknown part sizes by @cxymds in https://github.com/rustfs/rustfs/pull/6112
- chore(ecstore): remove the pool-level ListObjects pagination copy by @overtrue in https://github.com/rustfs/rustfs/pull/6078
- test(scanner): refresh metadata after fixture mutation by @cxymds in https://github.com/rustfs/rustfs/pull/6113
- chore(ecstore): drop the services dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6103
- test(table-catalog): share the store test doubles and fold three commit-rejection cases by @overtrue in https://github.com/rustfs/rustfs/pull/6076
- chore(ecstore): drop the data_usage dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6089
- fix(tier): decrypt transitioned objects instead of serving their ciphertext by @overtrue in https://github.com/rustfs/rustfs/pull/6107
- test(ecstore): cover cancelled PUT tmp cleanup by @cxymds in https://github.com/rustfs/rustfs/pull/6105
- fix(ecstore): preserve CopyObject producer errors by @cxymds in https://github.com/rustfs/rustfs/pull/6090
- fix(site-replication): route every state RMW through the locked transaction by @reatang in https://github.com/rustfs/rustfs/pull/6097
- fix(storage): restore multipart disk compression and make the legacy decompressor resumable by @overtrue in https://github.com/rustfs/rustfs/pull/6044
- fix(ci): remove unused ecstore error conversion by @overtrue in https://github.com/rustfs/rustfs/pull/6117
- fix(log-analyzer): remove stale heal manager anchor by @marshawcoco in https://github.com/rustfs/rustfs/pull/6100
- test(sse): align KMS context error assertion by @overtrue in https://github.com/rustfs/rustfs/pull/6118
- chore(release): prepare 1.0.0-rc.2 by @overtrue in https://github.com/rustfs/rustfs/pull/6116
- @Ivanbeethoven made their first contribution in https://github.com/rustfs/rustfs/pull/5937
- @sass1997 made their first contribution in https://github.com/rustfs/rustfs/pull/5960
- @ylw510 made their first contribution in https://github.com/rustfs/rustfs/pull/5914
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-rc.1...1.0.0-rc.2
RustFS 1.0.0-rc.2-preview.1 (preview)
- perf(filemeta): reduce meta object key allocations by @houseme in https://github.com/rustfs/rustfs/pull/5836
- fix(filemeta): classify xl.meta CRC mismatch as FileCorrupt so heal repairs it by @terem42 in https://github.com/rustfs/rustfs/pull/5838
- fix(iam): preserve OIDC outbound policy errors by @GatewayJ in https://github.com/rustfs/rustfs/pull/5762
- fix(iam): stabilize OIDC provider ordering by @GatewayJ in https://github.com/rustfs/rustfs/pull/5832
- test(filemeta): cover crc heal classification by @houseme in https://github.com/rustfs/rustfs/pull/5841
- fix(rebalance): fence peers before activation by @cxymds in https://github.com/rustfs/rustfs/pull/5842
- fix(multipart): recover part transactions by write quorum by @houseme in https://github.com/rustfs/rustfs/pull/5844
- fix(rebalance): fence writer pool lookups by @cxymds in https://github.com/rustfs/rustfs/pull/5845
- fix(rebalance): fence batch delete source pools by @cxymds in https://github.com/rustfs/rustfs/pull/5846
- fix(admin): return upgrade-required for v4 fallback by @houseme in https://github.com/rustfs/rustfs/pull/5847
- chore: harden hotpath profiling artifact collection by @houseme in https://github.com/rustfs/rustfs/pull/5848
- fix: isolate ssh stdin in hotpath artifact collection by @houseme in https://github.com/rustfs/rustfs/pull/5851
- chore(deps): fix cargo shear dependency metadata by @houseme in https://github.com/rustfs/rustfs/pull/5854
- fix(heal): respect scoped object repair limits by @cxymds in https://github.com/rustfs/rustfs/pull/5855
- fix(get): pin resume reads to resolved version by @cxymds in https://github.com/rustfs/rustfs/pull/5859
- fix(ecstore): fence bucket memo on live lock loss by @cxymds in https://github.com/rustfs/rustfs/pull/5852
- fix(ecstore): bound decommission listing retries by @cxymds in https://github.com/rustfs/rustfs/pull/5861
- fix(rpc): authenticate internode put file bodies by @cxymds in https://github.com/rustfs/rustfs/pull/5868
- chore(hotpath): add samply symbol summary tools by @houseme in https://github.com/rustfs/rustfs/pull/5875
- fix(build): support non-Linux Unix targets (illumos/Solaris/*BSD) by @yyyCode in https://github.com/rustfs/rustfs/pull/5853
- fix(replication): rebuild SSE metadata boundary for encrypted objects by @reatang in https://github.com/rustfs/rustfs/pull/5872
- fix(heal): defer scoped repair on suspended pools by @cxymds in https://github.com/rustfs/rustfs/pull/5876
- fix(rpc): make authenticated file writes atomic by @cxymds in https://github.com/rustfs/rustfs/pull/5879
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/5884
- fix(select): pin object snapshot for query lifetime by @GatewayJ in https://github.com/rustfs/rustfs/pull/5835
- fix(admin): answer background-heal/status partially when peers are unreachable by @terem42 in https://github.com/rustfs/rustfs/pull/5862
- docs(ci): make e2e-replication-nightly test-count comments drift-resistant by @reatang in https://github.com/rustfs/rustfs/pull/5866
- fix(heal): log the number of drives actually healed, not the drives consulted by @terem42 in https://github.com/rustfs/rustfs/pull/5871
- fix(policy): accept object lock mode condition by @overtrue in https://github.com/rustfs/rustfs/pull/5874
- fix(replication): persist REPLICA status on inbound replication writes by @reatang in https://github.com/rustfs/rustfs/pull/5878
- test(replication): cover rule id byte limit by @overtrue in https://github.com/rustfs/rustfs/pull/5873
- fix(ecstore): rename stale two_set_test_sets references to make_local_two_set_sets by @overtrue in https://github.com/rustfs/rustfs/pull/5886
- fix(ecstore): use existing two-set test fixture by @houseme in https://github.com/rustfs/rustfs/pull/5887
- feat: add hotpath observability for S3 data paths by @houseme in https://github.com/rustfs/rustfs/pull/5860
- fix(admin): allow owner service account updates by @houseme in https://github.com/rustfs/rustfs/pull/5889
- perf(get): reduce response write allocations by @houseme in https://github.com/rustfs/rustfs/pull/5890
- feat(replication): replicate managed-SSE objects via target re-encryption by @reatang in https://github.com/rustfs/rustfs/pull/5885
- perf(http): reduce tracing/logging hotpath overhead by @houseme in https://github.com/rustfs/rustfs/pull/5893
- fix(replication): make resync recovery resilient by @cxymds in https://github.com/rustfs/rustfs/pull/5883
- fix(rpc): negotiate authenticated file writes by @cxymds in https://github.com/rustfs/rustfs/pull/5880
- fix(docker): support TZ environment variable by @RamakrishnaChilaka in https://github.com/rustfs/rustfs/pull/5891
- docs: update security advisory lessons by @overtrue in https://github.com/rustfs/rustfs/pull/5896
- test: promote passing S3 compatibility cases by @overtrue in https://github.com/rustfs/rustfs/pull/5895
- perf(get): reduce response body chunk overhead by @houseme in https://github.com/rustfs/rustfs/pull/5897
- fix(ecstore): anchor Windows rename publication by @marshawcoco in https://github.com/rustfs/rustfs/pull/5677
- feat(replication): SSE-C ciphertext passthrough replication by @reatang in https://github.com/rustfs/rustfs/pull/5898
- test(ecstore): decouple kubernetes endpoint tests from kernel hostname by @reatang in https://github.com/rustfs/rustfs/pull/5900
- fix(ecstore): raise replay cache auto headroom by @houseme in https://github.com/rustfs/rustfs/pull/5902
- test(ecstore): pin persisted metadata key literals and bucket config goldens by @overtrue in https://github.com/rustfs/rustfs/pull/5904
- perf(get): avoid zeroing response body chunks by @houseme in https://github.com/rustfs/rustfs/pull/5905
- fix(heal): harden replacement rebuild tracking by @houseme in https://github.com/rustfs/rustfs/pull/5892
- feat(heal): expose replacement recovery status by @houseme in https://github.com/rustfs/rustfs/pull/5912
- build(deps): use RustFS s3s fork by @GatewayJ in https://github.com/rustfs/rustfs/pull/5901
- fix: prevent tilde expansion in DEB version substitution by @majinghe in https://github.com/rustfs/rustfs/pull/5913
- docs(agents): tighten production code growth rules by @overtrue in https://github.com/rustfs/rustfs/pull/5907
- feat(heal): aggregate replacement recovery status by @houseme in https://github.com/rustfs/rustfs/pull/5916
- perf(ecstore): gate bounded GET metadata fanout by @houseme in https://github.com/rustfs/rustfs/pull/5917
- test(heal): cover replacement target evidence failures by @houseme in https://github.com/rustfs/rustfs/pull/5919
- test(heal): cover replacement terminal recovery by @houseme in https://github.com/rustfs/rustfs/pull/5920
- perf(ecstore): expose replay cache RPC sources by @houseme in https://github.com/rustfs/rustfs/pull/5926
- fix(iam): merge OIDC extra root CAs by @houseme in https://github.com/rustfs/rustfs/pull/5915
- fix: create config file before fpm RPM packaging by @majinghe in https://github.com/rustfs/rustfs/pull/5924
- fix: correct SNSD cluster diagnostics by @cxymds in https://github.com/rustfs/rustfs/pull/5930
- perf(ecstore): keep bounded GET fanout opt-in by @houseme in https://github.com/rustfs/rustfs/pull/5929
- fix(replication): retry, persist and replay failed delete-marker purges by @reatang in https://github.com/rustfs/rustfs/pull/5864
- test(admin): relax object-lambda SNI test timeout under full-suite load by @reatang in https://github.com/rustfs/rustfs/pull/5923
- test(ecstore): update prepared GET fanout default by @houseme in https://github.com/rustfs/rustfs/pull/5932
- perf(ecstore): hedge bounded GET metadata fanout by @houseme in https://github.com/rustfs/rustfs/pull/5935
- fix(scanner): skip disk inventory in scan spans by @marshawcoco in https://github.com/rustfs/rustfs/pull/5933
- fix(rpc): negotiate replay-safe mutation authentication by @cxymds in https://github.com/rustfs/rustfs/pull/5928
- fix(ecstore): publish multipart parts on Windows by @Ivanbeethoven in https://github.com/rustfs/rustfs/pull/5937
- fix: report stalled object traffic as unready by @cxymds in https://github.com/rustfs/rustfs/pull/5936
- fix(replication): probe the version-identity contract in replication-check by @reatang in https://github.com/rustfs/rustfs/pull/5881
- perf(ecstore): raise replay cache auto capacity by @houseme in https://github.com/rustfs/rustfs/pull/5946
- test(replication): pin the scanner existing-object compensation matrix by @reatang in https://github.com/rustfs/rustfs/pull/5877
- fix(site-replication): route state RMW through one locked transaction by @reatang in https://github.com/rustfs/rustfs/pull/5882
- fix: exclude e2e_test from s3s footprint ratchet baseline by @overtrue in https://github.com/rustfs/rustfs/pull/5949
- perf(lock): bound distributed read lock fanout by @houseme in https://github.com/rustfs/rustfs/pull/5952
- test(heal): add privileged replacement rebuild e2e by @houseme in https://github.com/rustfs/rustfs/pull/5918
- fix(heal): quiet deferred replacement recovery logs by @houseme in https://github.com/rustfs/rustfs/pull/5954
- fix(table-catalog): harden commit publication by @marshawcoco in https://github.com/rustfs/rustfs/pull/5779
- perf(get): tune body stream buffers by @houseme in https://github.com/rustfs/rustfs/pull/5959
- perf(ecstore): bound strict inline commit syncs by @cxymds in https://github.com/rustfs/rustfs/pull/5931
- fix(quota): reject oversized multipart completion by @cxymds in https://github.com/rustfs/rustfs/pull/5958
- fix(gateway): api flag https redirect by @sass1997 in https://github.com/rustfs/rustfs/pull/5960
- fix(select): enforce typed S3 Select error semantics by @GatewayJ in https://github.com/rustfs/rustfs/pull/5942
- fix: update s3s footprint baseline after table-catalog hardening by @overtrue in https://github.com/rustfs/rustfs/pull/5964
- perf(get): cache read descriptors in StdBackend by @houseme in https://github.com/rustfs/rustfs/pull/5965
- perf(get): enable inline direct-read by default + versioned buckets (#1802) by @houseme in https://github.com/rustfs/rustfs/pull/5966
- perf(get): slim metadata fanout allocations by @houseme in https://github.com/rustfs/rustfs/pull/5968
- feat: add GET stream failure observability by @houseme in https://github.com/rustfs/rustfs/pull/5967
- feat(ecstore): seed relaxed durability for new buckets by @houseme in https://github.com/rustfs/rustfs/pull/5971
- docs(durability): document the new-bucket relaxed default by @houseme in https://github.com/rustfs/rustfs/pull/5973
- fix(get): give UringBackend the only fd cache for its disk by @houseme in https://github.com/rustfs/rustfs/pull/5974
- perf(rpc): size remote shard read buffers by @GatewayJ in https://github.com/rustfs/rustfs/pull/5972
- fix(table-catalog): support apache-avro 0.22 by @marshawcoco in https://github.com/rustfs/rustfs/pull/5975
- perf(get): trim direct-read metadata allocations by @houseme in https://github.com/rustfs/rustfs/pull/5976
- docs: sync ARCHITECTURE.md structural inventory with measured state by @overtrue in https://github.com/rustfs/rustfs/pull/5977
- fix(s3): return InvalidArgument for mismatched ListMultipartUploads key-marker by @ylw510 in https://github.com/rustfs/rustfs/pull/5914
- test(heal): strengthen replacement e2e evidence by @overtrue in https://github.com/rustfs/rustfs/pull/5956
- fix(table-catalog): harden strong backing compatibility by @marshawcoco in https://github.com/rustfs/rustfs/pull/5941
- fix(ecstore): map disk-representable StorageError variants in reverse conversion by @overtrue in https://github.com/rustfs/rustfs/pull/5980
- fix(data-usage): make thin usage-cache types a read-only projection by @overtrue in https://github.com/rustfs/rustfs/pull/5981
- chore(ecstore): remove dead MinIO-port client modules (~940 lines) by @overtrue in https://github.com/rustfs/rustfs/pull/5982
- fix(ecstore): attribute internal metadata GET metrics by @houseme in https://github.com/rustfs/rustfs/pull/5983
- perf(ecstore): reduce inline GET fixed costs by @houseme in https://github.com/rustfs/rustfs/pull/5985
- perf(ecstore): reduce small PUT fixed costs by @houseme in https://github.com/rustfs/rustfs/pull/5987
- fix(admin): clarify invalid group name errors by @GatewayJ in https://github.com/rustfs/rustfs/pull/5986
- fix(scanner): defer cycles during data movement by @marshawcoco in https://github.com/rustfs/rustfs/pull/5970
- fix(heal): cancel cluster tasks from root stop by @marshawcoco in https://github.com/rustfs/rustfs/pull/5978
- chore(rustfs): remove dead keystone shadow auth path by @overtrue in https://github.com/rustfs/rustfs/pull/5988
- feat(table-catalog): add atomic table rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/5989
- chore: remove commented-out test corpses (~330 lines) by @overtrue in https://github.com/rustfs/rustfs/pull/5994
- docs(kms): add rotation driver matrix and rotation-overdue alert by @overtrue in https://github.com/rustfs/rustfs/pull/5992
- docs(replication): register the http interop duplication and pin its wire values by @overtrue in https://github.com/rustfs/rustfs/pull/5996
- chore(kms): import canonical internal encryption header constants by @overtrue in https://github.com/rustfs/rustfs/pull/5997
- chore(rustfs): import canonical encryption header constants in select_object by @overtrue in https://github.com/rustfs/rustfs/pull/5998
- test: assert real behavior in three assertion-less tests by @overtrue in https://github.com/rustfs/rustfs/pull/5993
- fix(ecstore): scope UploadPart commit lock per part number by @overtrue in https://github.com/rustfs/rustfs/pull/5990
- ci(kms): add a nightly live-Vault lane and stop leaking behavior keys by @overtrue in https://github.com/rustfs/rustfs/pull/5999
- test(e2e): fold nine identical POST-policy rejection tests into one table by @overtrue in https://github.com/rustfs/rustfs/pull/6000
- perf(ecstore): keep decode scratch buffers inline by @houseme in https://github.com/rustfs/rustfs/pull/6002
- perf(get): include small objects in codec streaming by @houseme in https://github.com/rustfs/rustfs/pull/6004
- refactor(kms): consolidate encryption metadata key constants into their shared home by @overtrue in https://github.com/rustfs/rustfs/pull/5995
- perf(get): share metadata cache hits by @houseme in https://github.com/rustfs/rustfs/pull/6010
- fix(admin): report live bucket count during usage scan by @houseme in https://github.com/rustfs/rustfs/pull/6014
- perf(get): reuse reader paths and lock namespaces by @houseme in https://github.com/rustfs/rustfs/pull/6015
- perf(ecstore): release PUT lock before old-data cleanup by @houseme in https://github.com/rustfs/rustfs/pull/6023
- fix(ecstore): retry manual ILM job CAS updates by @houseme in https://github.com/rustfs/rustfs/pull/6012
- perf(get): reduce request entry allocations by @houseme in https://github.com/rustfs/rustfs/pull/6029
- feat(kms): observe unknown fields in the last three silent persisted formats by @overtrue in https://github.com/rustfs/rustfs/pull/6003
- fix(iam): remove eight dead error variants and make Clone variant-preserving by @overtrue in https://github.com/rustfs/rustfs/pull/6030
- chore(io-metrics): remove the zero-consumer config module (391 lines) by @overtrue in https://github.com/rustfs/rustfs/pull/6008
- fix(versioning): reject suspending versioning while a replication config exists by @overtrue in https://github.com/rustfs/rustfs/pull/6006
- fix(site-replication): admit same-generation peer-edit fan-out bodies by @overtrue in https://github.com/rustfs/rustfs/pull/6007
- chore(common): remove dead bucket_stats module and LastMinuteHistogram by @overtrue in https://github.com/rustfs/rustfs/pull/6011
- chore(ecstore): remove test-only BitrotErrorType and pin wire-only disk variants by @overtrue in https://github.com/rustfs/rustfs/pull/6032
- docs(policy): pin the deliberate slash-only path.Clean duplication by @overtrue in https://github.com/rustfs/rustfs/pull/6013
- fix(sse): align copy-path unknown-algorithm fallback with put path by @overtrue in https://github.com/rustfs/rustfs/pull/6022
- test(e2e): fold seven identical POST-policy exact-mismatch tests into one table by @overtrue in https://github.com/rustfs/rustfs/pull/6016
- docs(io-metrics): remove stale unified-config docs left by #6008 by @overtrue in https://github.com/rustfs/rustfs/pull/6039
- chore(ecstore): collapse the expiry worker knobs to one documented env var by @overtrue in https://github.com/rustfs/rustfs/pull/6034
- feat(sse): report the wrapping master-key version on S3 audit entries by @overtrue in https://github.com/rustfs/rustfs/pull/6005
- feat(kms): reserve and expose KV2 wrap-budget consumption by @overtrue in https://github.com/rustfs/rustfs/pull/6019
- refactor(admin): add authorize_admin_request and fold four local wrappers by @overtrue in https://github.com/rustfs/rustfs/pull/6020
- test(io-metrics): assert metric emission in six modules of record_* smoke tests by @overtrue in https://github.com/rustfs/rustfs/pull/6021
- docs(checksums): cross-reference the three checksum registries by @overtrue in https://github.com/rustfs/rustfs/pull/6024
- refactor(utils): add shared retry_with_backoff and migrate target_descriptor by @overtrue in https://github.com/rustfs/rustfs/pull/6026
- test(kms): pin ILM behavior on SSE-KMS buckets under key-policy enforcement by @overtrue in https://github.com/rustfs/rustfs/pull/6027
- chore(rustfs): remove the orphan starshard bucket-cache backend by @overtrue in https://github.com/rustfs/rustfs/pull/6038
- fix(kms): let the Vault Transit backend start against an empty transit engine by @overtrue in https://github.com/rustfs/rustfs/pull/6040
- docs(operations): record the two experimental GET-path switches by @overtrue in https://github.com/rustfs/rustfs/pull/6041
- chore(ecstore): compile the list-objects chaos injector out of production builds by @overtrue in https://github.com/rustfs/rustfs/pull/6042
- fix(kms): tell an empty KV2 prefix from a missing mount on Vault's 404 by @overtrue in https://github.com/rustfs/rustfs/pull/6043
- test(rustfs): un-ignore the nine node_service global-state tests by @overtrue in https://github.com/rustfs/rustfs/pull/6047
- test: un-ignore the remaining seven global-state tests, drop one stale premise by @overtrue in https://github.com/rustfs/rustfs/pull/6048
- test: give the twenty-one bare #[ignore] attributes their reasons by @overtrue in https://github.com/rustfs/rustfs/pull/6049
- fix(table-catalog): isolate metadata after table rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/6050
- docs(guards): make the layer-dependency baseline an explicit shrink-only ratchet by @overtrue in https://github.com/rustfs/rustfs/pull/6053
- fix(kms): construct wrap_budget_reserved in the VaultKeyData deserializer by @overtrue in https://github.com/rustfs/rustfs/pull/6055
- perf(ecstore): avoid per-block shard vector allocation by @houseme in https://github.com/rustfs/rustfs/pull/6037
- fix(ecstore): bound remote metadata read retries by @houseme in https://github.com/rustfs/rustfs/pull/6035
- perf(ecstore): reduce inline PUT commit overhead by @houseme in https://github.com/rustfs/rustfs/pull/6033
- chore(io-metrics): make the server label injected, drop two leaf-violating deps by @overtrue in https://github.com/rustfs/rustfs/pull/6051
- test(rustfs): un-ignore the fourteen ecfs_test global-state tests by @overtrue in https://github.com/rustfs/rustfs/pull/6046
- refactor(rustfs): move layer-neutral shared types out of server by @overtrue in https://github.com/rustfs/rustfs/pull/6061
- chore(deps): refresh mimalloc revision by @houseme in https://github.com/rustfs/rustfs/pull/6062
- perf(put): avoid eager body zero fill by @houseme in https://github.com/rustfs/rustfs/pull/6063
- fix(rebalance): converge multipart data movement retries by @cxymds in https://github.com/rustfs/rustfs/pull/6057
- perf(ecstore): retain remote shard HTTP chunks by @GatewayJ in https://github.com/rustfs/rustfs/pull/5991
- perf(storage): converge Wave 2 hot-path optimizations by @houseme in https://github.com/rustfs/rustfs/pull/6065
- test(table-catalog): extract the shared avro/json fixture constructors by @overtrue in https://github.com/rustfs/rustfs/pull/6066
- fix(ecstore): retain commit owners across cancellation by @houseme in https://github.com/rustfs/rustfs/pull/6068
- fix(copy): keep copy commit owner alive by @houseme in https://github.com/rustfs/rustfs/pull/6070
- perf(ecstore): guard inline data-read metadata early-stop by @houseme in https://github.com/rustfs/rustfs/pull/6069
- feat(kms): report a key as due for rotation once its wrap budget is spent by @overtrue in https://github.com/rustfs/rustfs/pull/6059
- refactor(sse): sink managed-SSE attribution into the shared encryption-keys module by @overtrue in https://github.com/rustfs/rustfs/pull/6017
- feat(ecstore): expose read version stage metrics by @houseme in https://github.com/rustfs/rustfs/pull/6073
- perf(ecstore): scale inline threshold by EC layout by @houseme in https://github.com/rustfs/rustfs/pull/6075
- perf(ecstore): reuse erasure codecs on GET paths by @houseme in https://github.com/rustfs/rustfs/pull/6074
- fix(ecstore): reconcile object cleanup receipts by @houseme in https://github.com/rustfs/rustfs/pull/6077
- perf(ecstore): shorten multipart commit lock tail by @houseme in https://github.com/rustfs/rustfs/pull/6080
- chore(ecstore): drop the config, core, data_movement, object_api and event blankets by @overtrue in https://github.com/rustfs/rustfs/pull/6087
- chore(obs): drop 44 dead_code blankets from the metrics tree by @overtrue in https://github.com/rustfs/rustfs/pull/6086
- chore(ecstore): drop the runtime and error dead_code blankets by @overtrue in https://github.com/rustfs/rustfs/pull/6085
- chore(ecstore): drop the diagnostics dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6083
- chore(ecstore): drop the layout dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6084
- chore(ecstore): drop the io_support dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6082
- chore(rustfs): drop two dead_code allows sitting on live code by @overtrue in https://github.com/rustfs/rustfs/pull/6081
- chore(heal): remove seven dead error variants by @overtrue in https://github.com/rustfs/rustfs/pull/6031
- ci: gate rio-v2 full-suite jobs on schedule; document lifecycle by @overtrue in https://github.com/rustfs/rustfs/pull/6036
- chore(ecstore): drop the cluster and erasure dead_code blankets by @overtrue in https://github.com/rustfs/rustfs/pull/6088
- docs(architecture): sync migration guard docs by @cxymds in https://github.com/rustfs/rustfs/pull/6092
- test(table-catalog): share the stateful object backend across both test files by @overtrue in https://github.com/rustfs/rustfs/pull/6071
- fix(log-analyzer): drop stale heal rule anchor by @cxymds in https://github.com/rustfs/rustfs/pull/6102
- fix(quota): enforce durable hard quota reservations by @cxymds in https://github.com/rustfs/rustfs/pull/6058
- test(rpc): align snapshot lease missing-disk expectation by @houseme in https://github.com/rustfs/rustfs/pull/6108
- perf(get): avoid materialized body clone by @houseme in https://github.com/rustfs/rustfs/pull/6109
- fix: resolve quota rollout CI regressions by @cxymds in https://github.com/rustfs/rustfs/pull/6106
- perf(ecstore): borrow rename metadata during commit fanout by @houseme in https://github.com/rustfs/rustfs/pull/6104
- fix(ecstore): allow migrated unknown part sizes by @cxymds in https://github.com/rustfs/rustfs/pull/6112
- chore(ecstore): remove the pool-level ListObjects pagination copy by @overtrue in https://github.com/rustfs/rustfs/pull/6078
- test(scanner): refresh metadata after fixture mutation by @cxymds in https://github.com/rustfs/rustfs/pull/6113
- chore(ecstore): drop the services dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6103
- test(table-catalog): share the store test doubles and fold three commit-rejection cases by @overtrue in https://github.com/rustfs/rustfs/pull/6076
- chore(ecstore): drop the data_usage dead_code blanket by @overtrue in https://github.com/rustfs/rustfs/pull/6089
- fix(tier): decrypt transitioned objects instead of serving their ciphertext by @overtrue in https://github.com/rustfs/rustfs/pull/6107
- test(ecstore): cover cancelled PUT tmp cleanup by @cxymds in https://github.com/rustfs/rustfs/pull/6105
- fix(ecstore): preserve CopyObject producer errors by @cxymds in https://github.com/rustfs/rustfs/pull/6090
- fix(site-replication): route every state RMW through the locked transaction by @reatang in https://github.com/rustfs/rustfs/pull/6097
- fix(storage): restore multipart disk compression and make the legacy decompressor resumable by @overtrue in https://github.com/rustfs/rustfs/pull/6044
- fix(ci): remove unused ecstore error conversion by @overtrue in https://github.com/rustfs/rustfs/pull/6117
- fix(log-analyzer): remove stale heal manager anchor by @marshawcoco in https://github.com/rustfs/rustfs/pull/6100
- test(sse): align KMS context error assertion by @overtrue in https://github.com/rustfs/rustfs/pull/6118
- chore(release): prepare 1.0.0-rc.2 by @overtrue in https://github.com/rustfs/rustfs/pull/6116
- @Ivanbeethoven made their first contribution in https://github.com/rustfs/rustfs/pull/5937
- @sass1997 made their first contribution in https://github.com/rustfs/rustfs/pull/5960
- @ylw510 made their first contribution in https://github.com/rustfs/rustfs/pull/5914
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-rc.1...1.0.0-rc.2-preview.1
v8.0.1
Special thanks to the following individuals for their excellent contributions:
- @Minei3oat
- @floriannari
- @hdeadman
- @leleuj
- @mmoayyed
- @ribafish
v2.2.4
This release includes 18 updates, covering feature enhancements, bug fixes, and performance optimizations.
- New Features: 7 items
- Bug Fixes: 9 items
- Documentation Updates: 2 items
-
Related PR: #621
Contributor: @Thomas-Eliot
Change Log: Enhanced MCP Server interaction capabilities: added support for automatic Host header rewriting for DNS backends; improved transport selection and full-path configuration in direct routing scenarios; refined DSN special-character (e.g.,@) parsing logic for DB-to-MCP Server scenarios.
Feature Value: Improves flexibility and compatibility when integrating with MCP Servers, enabling users to configure diverse backend types more easily, avoiding path ambiguity and authentication-character parsing failures—thus reducing operational complexity and enhancing system stability. -
Related PR: #608
Contributor: @Libres-coder
Change Log: Added plugin display functionality to the AI Route Management page: extended AI route rows to show enabled plugins, added an "Enabled" label to the configuration page, and implemented frontend i18n support along with plugin-query logic adaptation.
Feature Value: Enables users to intuitively view and manage enabled plugins directly from the AI Route Management interface, aligning with conventional route functionality—improving transparency and operational consistency of AI route configurations and lowering learning and operational overhead. -
Related PR: #604
Contributor: @CH3CHO
Change Log: Introduced regex-based path rewrite functionality, supporting complex path matching and replacement via thehigress.io/rewrite-targetannotation; extended the rewrite configuration parsing logic inKubernetesModelConverter; added regex rewrite type identifiers to frontend and backend i18n resources.
Feature Value: Empowers users to define fine-grained path rewrite rules using regular expressions, significantly enhancing route matching precision and forwarding flexibility—ideal for multi-version API management, dynamic path mapping, and similar use cases—thereby improving gateway adaptability and operational efficiency. -
Related PR: #603
Contributor: @CH3CHO
Change Log: Added a constantSTATIC_SERVICE_PORT = 80to the static service source form component and displayed this fixed port in the UI, making it explicit to users that static services default to port 80—improving configuration transparency and consistency.
Feature Value: Users can clearly see the preconfigured port 80 when configuring static service sources, preventing service deployment failures caused by port misinterpretation—reducing adoption barriers and improving configuration accuracy and operational efficiency. -
Related PR: #602
Contributor: @CH3CHO
Change Log: Added search functionality to the upstream service selector component for AI routes, enabling frontend input-based filtering of the service list to accelerate service selection. Modified theRouteFormcomponent to include a search input field and filtering logic—achieving enhanced interactivity with minimal code changes.
Feature Value: Allows users to rapidly filter target upstream services during AI route configuration—eliminating manual scrolling through large service lists—significantly boosting configuration efficiency and user experience, especially in production environments with extensive microservice inventories. -
Related PR: #566
Contributor: @OuterCyrex
Change Log: Added support for Qwen (Tongyi Qwen) large language model (LLM) services, including custom service endpoints, internet search enablement, and file ID upload capabilities; introducedQwenLlmProviderHandler; completed configuration item and i18n adaptations on both frontend and backend.
Feature Value: Enables convenient web-based configuration of private or third-party Qwen services, expanding AI capability extensibility; internet search and file ID upload support enhance LLM invocation flexibility and practicality across real-world business scenarios. -
Related PR: #552
Contributor: @lcfang
Change Log: Addedvportattribute support for service virtual port configuration; extendedV1RegistryConfigandServiceSourcemodels; introducedVPortclass; integratedvportfield mapping into Kubernetes model conversion logic—resolving routing failures caused by inconsistent instance ports in service registries.
Feature Value: Users can now specify virtual ports for services registered via Eureka/Nacos, ensuring routing rules remain effective despite dynamic backend instance port changes—enhancing stability and compatibility of service discovery and traffic scheduling while reducing operational configuration complexity.
-
Related PR: #620
Contributor: @CH3CHO
Change Log: Fixed a typographical error in thesortWasmPluginMatchRuleslogic, correcting variable names or logical errors that could cause unexpected sorting anomalies—ensuring WASM plugin match rules are prioritized and sorted as intended.
Feature Value: Prevents rule-ordering inconsistencies due to typos, guaranteeing that WASM plugins are applied at the correct priority within the gateway—improving reliability and consistency of traffic routing and policy enforcement. -
Related PR: #619
Contributor: @CH3CHO
Change Log: Fixed duplicate version information persistence when convertingAiRoutetoConfigMap: removed theversionfield from the data JSON payload, retaining version metadata solely in theConfigMapmetadata—eliminating data redundancy and potential inconsistency.
Feature Value: Enhances configuration consistency and reliability, preventing parsing errors or deployment anomalies caused by duplicated version fields—delivering a more stable Kubernetes resource management experience forAiRouteusers. -
Related PR: #618
Contributor: @CH3CHO
Change Log: Refactored API authorization logic inSystemController, introducing an@AllowAnonymousannotation mechanism to uniformly handle unauthenticated endpoints and removing hardcoded path whitelists—improving maintainability and security of authorization policies.
Feature Value: Resolves potential security vulnerabilities in the system controller, preventing unauthorized access to sensitive APIs and enhancing overall platform security; users benefit from stronger access protection without additional configuration—reducing exposure to malicious exploitation. -
Related PR: #617
Contributor: @CH3CHO
Change Log: Fixed three critical frontend console issues: missing uniquekeyprops causing rendering warnings, Content Security Policy (CSP) blocking image loading, and incorrect type definition forConsumer.name(corrected frombooleantostring).
Feature Value: Improves application stability and user experience—eliminating console errors that disrupt development debugging, ensuring proper avatar and list rendering, and fixing data types to prevent runtime type errors—strengthening frontend code robustness. -
Related PR: #614
Contributor: @lc0138
Change Log: Fixed a type-definition error for thetypefield in theServiceSourceclass and added dictionary-value validation logic—ensuring only valid registry types are permitted and preventing runtime type mismatches.
Feature Value: Enhances robustness and security of service-source configuration, preventing service registration failures or system exceptions caused by invalidtypevalues—ensuring stability and reliability when configuring heterogeneous service sources. -
Related PR: #613
Contributor: @lc0138
Change Log: Fixed a frontend Content Security Policy (CSP) configuration defect by correctly injecting meta tags and security headers in theDocumentcomponent—preventing XSS and other client-side script injection attacks and improving overall web application security.
Feature Value: Significantly reduces the risk of cross-site scripting (XSS) and related security exploits on the frontend, strengthening user data and session security, ensuring production environment compliance, and elevating platform trustworthiness and user confidence. -
Related PR: #612
Contributor: @zhwaaaaaa
Change Log: Added hop-to-hop header (e.g.,Transfer-Encoding) ignore logic inDashboardServiceImpl, adhering to RFC 2616—preventing reverse proxy forwarding of chunked encoding headers from disrupting Grafana dashboard rendering and resolving frontend rendering failures caused by HTTP header passthrough.
Feature Value: Fixes inability to load Grafana monitoring pages, enhancing stability of console-backend integration; users gain RFC-compliant proxy behavior out-of-the-box—no manual proxy filtering rules required—improving operational experience and system observability. -
Related PR: #609
Contributor: @CH3CHO
Change Log: Corrected the type definition for thenamefield in theConsumerinterface—frombooleantostring—resolving potential runtime errors and TypeScript compilation issues caused by type mismatch.
Feature Value: EnsuresConsumer.namecorrectly represents a string-typed username, improving type safety and API consistency—preventing front-end logic misinterpretation and data rendering anomalies—and enhancing system stability and developer experience. -
Related PR: #605
Contributor: @SaladDay
Change Log: Refined the regex validation rule for AI route names to permit periods (.) and restrict characters to lowercase letters; synchronized Chinese/English error messages to ensure UI prompts accurately reflect actual validation logic—fixing erroneous rejection of valid route names (e.g.,api.v1).
Feature Value: Improves AI route configuration experience—enabling correct usage of period-containing names—while eliminating form submission failures due to inconsistent validation—enhancing system reliability and user trust.
-
Related PR: #611
Contributor: @qshuai
Change Log: Corrected the Swagger API documentation summary description for the@PostMappingendpoint inLlmProvidersController, replacing the inaccurate "Add a new route" with a precise functional description—improving API documentation accuracy and readability.
Feature Value: Aligns API documentation with actual behavior, helping developers quickly grasp endpoint purpose—reducing misuse risk—and improving development experience and integration efficiency for the console’s AI service module. -
Related PR: #610
Contributor: @heimanba
Change Log: Updatedfrontend-grayplugin documentation: markedrewrite,backendVersion, andenabledfields as optional; updatedrules.namereference path tograyDeployments[].name; synchronized field descriptions and terminology across Chinese/English READMEs andspec.yaml—enhancing configuration guidance accuracy and consistency.
Feature Value: Increases flexibility of gray-scale configuration for diverse deployment scenarios—lowering user configuration barriers; standardized documentation terminology and linkage logic—reducing configuration errors stemming from ambiguous documentation—and improving developer understanding and reliable plugin usage.
- 🚀 New Features: 7 items
- 🐛 Bug Fixes: 9 items
- 📚 Documentation Updates: 2 items
Total: 18 changes
Thank you to all contributors for your hard work! 🎉
superset-helm-chart-0.22.6
Apache Superset is a modern, enterprise-ready business intelligence web application
🖇️ v1.53.1
by @ManyTheFish in https://github.com/meilisearch/meilisearch/pull/6587
Control the maximum number of LMDB read transactions at the same time for the task queue.
The following environment variable can be exported to specify the maximum number of simultaneous read transactions:
# Only the environment variable can set this parameter
MEILI_EXPERIMENTAL_TASK_QUEUE_MAX_READERS=100
Product discussion: https://github.com/orgs/meilisearch/discussions/806
- Bump mini-dashboard to v0.4.2 by @Strift in https://github.com/meilisearch/meilisearch/pull/6585
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.53.0...v1.53.1
v1.5.2
The release pipeline failed part way through so not all release artifacts are published, this release has been retracted. Please upgrade to v1.5.3.
- Improve Release Workflow by @AlexFenlon in https://github.com/nginx/nginx-prometheus-exporter/pull/1173
- Update release docs & remove snapcraft by @pdabelf5 in https://github.com/nginx/nginx-prometheus-exporter/pull/1174
- Only run notification workflow when release fails by @pdabelf5 in https://github.com/nginx/nginx-prometheus-exporter/pull/1249
- Update CLA concurrency by @pdabelf5 in https://github.com/nginx/nginx-prometheus-exporter/pull/1279
- Refactor metric label initialization by @pdabelf5 in https://github.com/nginx/nginx-prometheus-exporter/pull/1324
- Update goreleaser configuration to use bundle signing by @pdabelf5 in https://github.com/nginx/nginx-prometheus-exporter/pull/1325
- Fix signature argument in goreleaser configuration for cosign by @pdabelf5 in https://github.com/nginx/nginx-prometheus-exporter/pull/1326
- Update README with N+ license metrics by @defanator in https://github.com/nginx/nginx-prometheus-exporter/pull/1222
- Address markdown linter issues by @pdabelf5 in https://github.com/nginx/nginx-prometheus-exporter/pull/1233
- Remove Fossa workflow by @thresheek in https://github.com/nginx/nginx-prometheus-exporter/pull/1275
- Address more markdown lint issues by @pdabelf5 in https://github.com/nginx/nginx-prometheus-exporter/pull/1234
46 changes
- Update github/codeql-action action to v4.37.6 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1165, https://github.com/nginx/nginx-prometheus-exporter/pull/1180, https://github.com/nginx/nginx-prometheus-exporter/pull/1186, https://github.com/nginx/nginx-prometheus-exporter/pull/1211, https://github.com/nginx/nginx-prometheus-exporter/pull/1236, https://github.com/nginx/nginx-prometheus-exporter/pull/1282
- Update sigstore/cosign-installer action to v4.1.2 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1181, https://github.com/nginx/nginx-prometheus-exporter/pull/1270, https://github.com/nginx/nginx-prometheus-exporter/pull/1284
- Update anchore/scan-action action to v7.4.0 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1179, https://github.com/nginx/nginx-prometheus-exporter/pull/1206, https://github.com/nginx/nginx-prometheus-exporter/pull/1216, https://github.com/nginx/nginx-prometheus-exporter/pull/1238
- Update cachix/install-nix-action digest to ab73962 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1175, https://github.com/nginx/nginx-prometheus-exporter/pull/1214, https://github.com/nginx/nginx-prometheus-exporter/pull/1263, https://github.com/nginx/nginx-prometheus-exporter/pull/1280
- Update lucacome/draft-release action to v2.2.1 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1187, https://github.com/nginx/nginx-prometheus-exporter/pull/1230, https://github.com/nginx/nginx-prometheus-exporter/pull/1250, https://github.com/nginx/nginx-prometheus-exporter/pull/1316
- Update docker/metadata-action action to v6 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1194, https://github.com/nginx/nginx-prometheus-exporter/pull/1266
- Update anchore/sbom-action action to v0.24.0 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1176, https://github.com/nginx/nginx-prometheus-exporter/pull/1215, https://github.com/nginx/nginx-prometheus-exporter/pull/1237
- Update golang Docker tag to v1.26.5 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1177, https://github.com/nginx/nginx-prometheus-exporter/pull/1229, https://github.com/nginx/nginx-prometheus-exporter/pull/1246, https://github.com/nginx/nginx-prometheus-exporter/pull/1283
- Update golangci/golangci-lint-action action to v9.3.0 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1197, https://github.com/nginx/nginx-prometheus-exporter/pull/1292
- Update docker/setup-qemu-action action to v4 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1195, https://github.com/nginx/nginx-prometheus-exporter/pull/1268
- Update pre-commit hook gitleaks/gitleaks to v8.30.1 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1196, https://github.com/nginx/nginx-prometheus-exporter/pull/1269
- Update dependency golangci/golangci-lint to v2.12.2 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1189, https://github.com/nginx/nginx-prometheus-exporter/pull/1228
- Update dependency goreleaser/goreleaser to v2.17.1 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1185, https://github.com/nginx/nginx-prometheus-exporter/pull/1224, https://github.com/nginx/nginx-prometheus-exporter/pull/1256, https://github.com/nginx/nginx-prometheus-exporter/pull/1295
- Update actions/checkout action to v7 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1207, https://github.com/nginx/nginx-prometheus-exporter/pull/1235, https://github.com/nginx/nginx-prometheus-exporter/pull/1312
- Update aws-actions/configure-aws-credentials action to v6.2.3 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1208, https://github.com/nginx/nginx-prometheus-exporter/pull/1248, https://github.com/nginx/nginx-prometheus-exporter/pull/1281
- Update actions/dependency-review-action action to v5 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1198, https://github.com/nginx/nginx-prometheus-exporter/pull/1254, https://github.com/nginx/nginx-prometheus-exporter/pull/1288
- Update actions/upload-artifact action to v7 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1191, https://github.com/nginx/nginx-prometheus-exporter/pull/1219, https://github.com/nginx/nginx-prometheus-exporter/pull/1260
- Update actions/setup-go action to v7 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1205, https://github.com/nginx/nginx-prometheus-exporter/pull/1231, https://github.com/nginx/nginx-prometheus-exporter/pull/1259, https://github.com/nginx/nginx-prometheus-exporter/pull/1317
- Update reviewdog/action-actionlint action to v1.73 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1209, https://github.com/nginx/nginx-prometheus-exporter/pull/1244, https://github.com/nginx/nginx-prometheus-exporter/pull/1321
- Bump golang.org/x/crypto from 0.42.0 to 0.45.0 in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1203
- Update module github.com/prometheus/common to v0.67.5 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1188, https://github.com/nginx/nginx-prometheus-exporter/pull/1227
- Update module github.com/prometheus/exporter-toolkit to v0.17.1 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1190, https://github.com/nginx/nginx-prometheus-exporter/pull/1274, https://github.com/nginx/nginx-prometheus-exporter/pull/1308
- Update actions/stale action to v11 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1210, https://github.com/nginx/nginx-prometheus-exporter/pull/1255, https://github.com/nginx/nginx-prometheus-exporter/pull/1323
- Update codecov/codecov-action action to v7 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1217, https://github.com/nginx/nginx-prometheus-exporter/pull/1272, https://github.com/nginx/nginx-prometheus-exporter/pull/1301
- Update alpine Docker tag to v3.24 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1212, https://github.com/nginx/nginx-prometheus-exporter/pull/1302
- Update actions/cache action to v6 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1218, https://github.com/nginx/nginx-prometheus-exporter/pull/1242, https://github.com/nginx/nginx-prometheus-exporter/pull/1311
- Update docker/setup-buildx-action action to v4 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1223, https://github.com/nginx/nginx-prometheus-exporter/pull/1267
- Update docker/dockerfile Docker tag to v1.26 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1199, https://github.com/nginx/nginx-prometheus-exporter/pull/1239, https://github.com/nginx/nginx-prometheus-exporter/pull/1287
- Update pre-commit hook adrienverge/yamllint to v1.38.0 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1232
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1225, https://github.com/nginx/nginx-prometheus-exporter/pull/1315
- Update actions/github-script action to v9 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1276
- Update docker/login-action action to v4.6.0 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1265, https://github.com/nginx/nginx-prometheus-exporter/pull/1297
- Update pre-commit hook DavidAnson/markdownlint-cli2 to v0.23.2 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1200, https://github.com/nginx/nginx-prometheus-exporter/pull/1309
- Update docker/build-push-action action to v7.3.0 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1251, https://github.com/nginx/nginx-prometheus-exporter/pull/1264, https://github.com/nginx/nginx-prometheus-exporter/pull/1296
- Update pre-commit hook thlorenz/doctoc to v2.4.1 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1257
- Update module github.com/pires/go-proxyproto to v0.15.0 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1240, https://github.com/nginx/nginx-prometheus-exporter/pull/1307
- Update DavidAnson/markdownlint-cli2-action action to v24 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1273, https://github.com/nginx/nginx-prometheus-exporter/pull/1313
- Update goreleaser/goreleaser-action action to v7.2.3 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1258, https://github.com/nginx/nginx-prometheus-exporter/pull/1293
- Update actions/labeler action to v7 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1322
- Update reviewdog/action-actionlint digest to 01d2dd6 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1318
- Update ossf/scorecard-action action to v2.4.4 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1319
- Update module github.com/prometheus/client_golang to v1.24.1 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1320
- Update docker/metadata-action digest to dc80280 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1290
- Update docker/setup-buildx-action digest to bb05f3f by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1291
- Update docker/setup-qemu-action digest to 96fe6ef by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1298
- Update reviewdog/action-yamllint action to v1.23.1 by @renovate[bot] in https://github.com/nginx/nginx-prometheus-exporter/pull/1310
- Add uri to log when 'error getting stats' occured for nginx by @AlexKorsakov in https://github.com/nginx/nginx-prometheus-exporter/pull/1192
- @AlexKorsakov made their first contribution in https://github.com/nginx/nginx-prometheus-exporter/pull/1192
- @thresheek made their first contribution in https://github.com/nginx/nginx-prometheus-exporter/pull/1275
Full Changelog: https://github.com/nginx/nginx-prometheus-exporter/compare/v1.5.1...v1.5.2
- Use the v1.5.2 image from our DockerHub, GitHub Container, Amazon ECR Public Gallery or Quay.io.
- Download the latest binaries from the GitHub releases page.
- Update to the latest version with
brew upgrade nginx-prometheus-exporterorscoop update nginx-prometheus-exporter.
- NGINX 0.1.18 or newer.
- NGINX Plus R19 or newer.
3.14.0-rc.0 / 2026-08-06
- [CHANGE] API: Deprecate the
statsquery parameter of/api/v1/queryand/api/v1/query_rangefor values other thantrueandall. Other values still enable basic statistics but now return a deprecation warning; they will be rejected in the next major release. #19124 - [CHANGE] API:
/api/v1/status/confignow correctly showsseparator: ""andreplacement: ""in relabel configs when explicitly set to empty, instead of omitting them. #18653 - [CHANGE] Discovery/Hetzner: Drop the
__meta_hetzner_datacenterlabel forhcloudtargets, following its removal from the Hetzner Cloud API. #19269 - [CHANGE] PromQL: Enable duration expressions by default. The
promql-duration-exprfeature flag is now a no-op. #19033 - [CHANGE] PromQL: Promote
first_over_timeto stable. It no longer requires thepromql-experimental-functionsfeature flag. #19093 - [FEATURE] Discovery: Add Oracle Cloud Infrastructure compute service discovery (
oci_sd_configs). #18919 - [FEATURE] PromQL: Add experimental
start_timestamp(instant-vector)function returning the start timestamp of each sample in the given vector. Requires theuse-start-timestampsfeature flag. #19089 - [FEATURE] PromQL: Allow
rate()andincrease()to use start timestamps as an alternative for rate extrapolation. Hidden behind theuse-start-timestampsfeature flag. #18619 - [FEATURE] TSDB: Add experimental support for encoding start timestamps in histograms and float histograms. Hidden behind the
histograms-st-encodingfeature flag. #18609 - [ENHANCEMENT] OTLP: Emit a warning when OTLP attribute names collide into the same Prometheus label after sanitization (e.g.
k8s.pod.nameandk8s_pod_nameboth becomek8s_pod_name), and expose theprometheus_api_otlp_translation_warnings_totalcounter labelled bycategoryto track such warnings. #18957 - [ENHANCEMENT] Promtool: Add
--remote-write.pathflag topush metricsfor backends that use a non-default remote-write endpoint. #19086 - [ENHANCEMENT] Remote write: Forward histogram start timestamps in the remote write V2 protocol. #18903
- [ENHANCEMENT] TSDB: Add
prometheus_tsdb_head_native_histogram_seriesandprometheus_tsdb_head_native_histogram_bucketsgauges tracking the number of native histogram series and buckets in the head. #19170 - [ENHANCEMENT] UI: Add syntax highlighting, autocompletion, and linting for PromQL duration expressions (
step(),range(),min_of(),max_of()) in range selectors and subqueries. #18625 - [ENHANCEMENT] UI: Add copy button next to rule names on the Rules and Alerts pages. #18706
- [ENHANCEMENT] UI: Improve rule group title contrast on the Rules page. #19181
- [PERF] Speed up regex label matchers matching a set of literal values (e.g.
{job=~"foo|bar|baz"}). #18833 - [PERF] Remote read: Improve remote read throughput by removing unnecessary per-write flushing. #18470
- [PERF] Scrape: Parse text and OpenMetrics formats without recursion, preventing stack overflow from deeply nested or malicious exposition input. #19143
- [PERF] Scrape: Reduce native histogram scrape parsing allocations by ~49%. #19282
- [PERF] TSDB: Speed up queries on series with many in-memory chunks. #18300
- [BUGFIX] Alerting: Fix 100% CPU usage on shutdown that could delay graceful shutdown and trigger timeout-based kills. #17859
- [BUGFIX] Discovery/AWS: Stop
promtool check configfrom making AWS metadata service (IMDS) network calls when theregionfield is omitted in EC2, ECS, RDS, MSK, ElastiCache, and Lightsail service discovery configs. #19037 - [BUGFIX] Discovery/Docker: Set a request timeout for
docker_sdanddockerswarm_sdonunix,npipe, andtcphosts. Previously an unresponsive daemon could freeze discovery indefinitely, silently pinning targets to a stale snapshot. #19237 - [BUGFIX] Discovery/Docker: Fix panic in Docker Swarm service discovery when a service runs as a plugin or network-attachment. #19102
- [BUGFIX] Discovery/Docker: Fix discovery of IPv6-only containers. #18778
- [BUGFIX] PromQL: Fix case-insensitive regex label matchers silently dropping matching values. #19167
- [BUGFIX] PromQL: Fix
mad_over_timereturning 0 instead ofNaNwhen the range contains aNaNsample. #19040 - [BUGFIX] Promtool: Accept
--enable-feature=promql-binop-fill-modifiersincheck rules, which previously rejected validfill()/fill_left()/fill_right()expressions. #19153 - [BUGFIX] Remote write: Respect the
AZURE_FEDERATED_TOKEN_FILEenvironment variable for workload identity authentication instead of hardcoding the token file path. #18973 - [BUGFIX] Rules: Clean up stale
rule_group_last_rule_duration_sum_secondsandrule_group_last_restore_duration_secondsseries when a rule group is removed or renamed on reload. Previously each reload leaked two series per dropped group, growing/metricscardinality over time. #19107 - [BUGFIX] Scrape: Fix scrape manager spinning at 100% CPU on shutdown. #19149
- [BUGFIX] TSDB: Fix silent data loss and potential crash loop when
stale_series_compaction_thresholdis used in the config file. #19016 - [BUGFIX] TSDB: Fix potential data loss on restart when out-of-order ingestion is enabled and blocks are compacted. #19016
- [BUGFIX] TSDB: Fix
prometheus_tsdb_head_stale_seriesover-counting and early eviction of series that change between float, integer histogram, and float histogram sample types. #19183 - [BUGFIX] TSDB: Fix goroutine and file handle leaks when Prometheus fails to open a corrupt TSDB. On Windows, the leaked directory handle also prevented TSDB directory removal. #18291
- [BUGFIX] TSDB: Fix out-of-order queries blocking compaction for hours, causing memory usage to grow. #19013
- [BUGFIX] TSDB: Fix deleted series causing missing samples and errors after restart. #19140
- [BUGFIX] TSDB: Fix native histogram data becoming incorrect after restart. #19202
- [BUGFIX] TSDB: Surface query errors that were previously silently discarded. #19120
- [BUGFIX] TSDB: Honour the configured float chunk encoding when compaction rewrites chunks; previously chunks encoded with
--enable-feature=xor2-encodingcould silently revert to XOR after compaction. #19145 - [BUGFIX] UI: Show the delete-series form on the TSDB Status page when
--web.enable-admin-apiis enabled. #19025
v1.39.3
- #19366
inputs.cisco_telemetry_mdtCheck attribute message length - #19332
inputs.execdRespect influx parser parameters - #19333
inputs.redfishSkip resources without a reference - #19354
parsers.avroResolve measurement name from items record for array schemas - #19315
processors.filepathPrevent test code from being included in the shipped binary - #19325
serializers.prometheusremotewriteAccumulate multiple samples per series in a batch
- #19302
depsBump actions/setup-go from 6 to 7 - #19335
depsBump cloud.google.com/go/storage from 1.63.1 to 1.64.0 - #19311
depsBump github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor from 0.12.0 to 0.13.0 - #19385
depsBump github.com/IBM/sarama from 1.60.0 to 1.60.1 - #19386
depsBump github.com/SAP/go-hdb from 1.16.12 to 1.17.2 - #19303
depsBump github.com/antchfx/xpath from 1.3.6 to 1.3.7 - #19341
depsBump github.com/antchfx/xpath from 1.3.7 to 1.3.8 - #19344
depsBump github.com/apache/arrow-go/v18 from 18.6.0 to 18.7.0 - #19313
depsBump github.com/aws/smithy-go from 1.27.3 to 1.27.4 - #19340
depsBump github.com/aws/smithy-go from 1.27.4 to 1.27.5 - #19310
depsBump github.com/go-ldap/ldap/v3 from 3.4.13 to 3.4.14 - #19381
depsBump github.com/gofrs/uuid/v5 from 5.4.0 to 5.5.0 - #19345
depsBump github.com/google/cel-go from 0.29.2 to 0.30.0 - #19314
depsBump github.com/gosnmp/gosnmp from 1.43.2 to 1.44.0 - #19306
depsBump github.com/jedib0t/go-pretty/v6 from 6.8.2 to 6.8.3 - #19312
depsBump github.com/klauspost/compress from 1.19.0 to 1.19.1 - #19336
depsBump github.com/moby/moby/client from 0.5.0 to 0.5.1 - #19380
depsBump github.com/nats-io/nats-server/v2 from 2.14.3 to 2.14.4 - #19309
depsBump github.com/prometheus/client_golang from 1.23.2 to 1.24.0 - #19342
depsBump github.com/prometheus/client_golang from 1.24.0 to 1.24.1 - #19382
depsBump github.com/prometheus/prometheus from 0.313.1 to 0.313.2 - #19349
depsBump github.com/rabbitmq/amqp091-go from 1.12.0 to 1.13.0 - #19387
depsBump github.com/rclone/rclone from 1.74.1-0.20260628215305-6bbc28cf02dc to 1.75.0 - #19372
depsBump github.com/shirou/gopsutil/v4 from v4.26.6 to v4.26.7 - #19348
depsBump github.com/vertica/vertica-sql-go from 1.3.7 to 1.3.8 - #19384
depsBump github.com/yuin/goldmark from 1.8.4 to 1.8.5 - #19347
depsBump go.opentelemetry.io/collector/pdata from 1.62.0 to 1.63.0 - #19338
depsBump go.opentelemetry.io/proto/otlp from 1.10.0 to 1.11.0 - #19351
depsBump go.opentelemetry.io/proto/otlp/collector/profiles/v1development from 0.3.0 to 0.4.0 - #19353
depsBump go.opentelemetry.io/proto/otlp/profiles/v1development from 0.3.0 to 0.4.0 - #19307
depsBump go.step.sm/crypto from 0.84.1 to 0.85.0 - #19389
depsBump go.step.sm/crypto from 0.85.0 to 0.87.0 - #19352
depsBump go.yaml.in/yaml/v3 from 3.0.4 to 3.0.5 - #19308
depsBump google.golang.org/api from 0.288.0 to 0.289.0 - #19339
depsBump google.golang.org/api from 0.289.0 to 0.290.0 - #19388
depsBump google.golang.org/api from 0.290.0 to 0.291.0 - #19305
depsBump google.golang.org/grpc from 1.82.0 to 1.82.1 - #19390
depsBump google.golang.org/grpc from 1.82.1 to 1.83.0 - #19337
depsBump k8s.io/client-go from 0.36.2 to 0.36.3 - #19304
depsBump modernc.org/sqlite from 1.53.0 to 1.54.0 - #19383
depsBump modernc.org/sqlite from 1.54.0 to 1.55.0 - #19378
depsBump the aws-sdk-go-v2 group with 11 updates - #19334
depsBump the aws-sdk-go-v2 group with 11 updates
| Arch | Platform | Package | SHA256 |
|---|---|---|---|
| arm64 | CentOS | telegraf-1.39.3-1.aarch64.rpm | f2db8ca3b5f8507ecdb1978b83adeaf0f1ff6060326bd8125c1b9221c011ed12 |
| armel | CentOS | telegraf-1.39.3-1.armel.rpm | fb4d26f2d200e4d84501c7eb07c8d351099605ec67e7322cc2f98b5c62f555a8 |
| armv6hl | CentOS | telegraf-1.39.3-1.armv6hl.rpm | 5570b28362fb59cfb14615f99695ca57f2612a4cae1e413892b002d0ec2f90cd |
| i386 | CentOS | telegraf-1.39.3-1.i386.rpm | e9c3ee46b12beab7a01a6b7f1fd5882bf75b064c331db613aab4b8ee37b22d99 |
| unknown | CentOS | telegraf-1.39.3-1.loongarch64.rpm | 46e348e8719d30eec68d100947da417e5466265e260190fd6edf19dbcf969158 |
| ppc64le | CentOS | telegraf-1.39.3-1.ppc64le.rpm | c5184a302165ba42e1defb03e9368b983dfb9cf2d51b569add58c7a06c9ecd5d |
| riscv64 | CentOS | telegraf-1.39.3-1.riscv64.rpm | 6051bb8d7a3d26d4b78bc298ee9f14b9911f0a11573bf5a8f9c17a595aec0704 |
| s390x | CentOS | telegraf-1.39.3-1.s390x.rpm | 01df6df3746a5ad76a8329c708e35271d9d16e0f1c461e0431d52e0b3d056c70 |
| amd64 | CentOS | telegraf-1.39.3-1.x86_64.rpm | 61e34743157a77e5d018e7a5b22b8594f4625d498fff298297c337f07f12d21f |
| amd64 | macOS | telegraf-1.39.3_darwin_amd64.dmg | f8e4d8f81ba7257c1a92da179f03cd2f5b369402005e531983be65b448c3f423 |
| amd64 | macOS | telegraf-1.39.3_darwin_amd64.tar.gz | ab16495f6e127794f93ec715fe4ad8f8177ae396eb23eb1c1cec5e2cddb29bf4 |
| arm64 | macOS | telegraf-1.39.3_darwin_arm64.dmg | 28cd7e7eae57bd46ffe8c23b6a8914fba562f69825350945addea07a4354b932 |
| arm64 | macOS | telegraf-1.39.3_darwin_arm64.tar.gz | 244ecfe88921ba0b6c8a2139137700bb2faa4041e1c94a7f46c8733d3e51170c |
| amd64 | FreeBSD | telegraf-1.39.3_freebsd_amd64.tar.gz | 026910d7505995e7618a00e2edc877c95d2b477df5a660f4d1ba66d3c2718bb1 |
| armv7 | FreeBSD | telegraf-1.39.3_freebsd_armv7.tar.gz | 85b5eeb71e24b35235ea2cefc126698d62e5424f672ae1efa866d60d4f4282b3 |
| i386 | FreeBSD | telegraf-1.39.3_freebsd_i386.tar.gz | edbcab3e336e41c97ce0fad1100bc2a1fa267320ce8816989565d244da467b92 |
| amd64 | Linux | telegraf-1.39.3_linux_amd64.tar.gz | 2904d5332a27a1a3f7ccd990139af2e9bc3b393cf5f7c6ac13e26ebc18df1d52 |
| arm64 | Linux | telegraf-1.39.3_linux_arm64.tar.gz | 516623054b321b851072d021455b3becbeecbe8a2b5582013680d0854a83bc44 |
| armel | Linux | telegraf-1.39.3_linux_armel.tar.gz | 40dc54e90810a9353df14fb31ff2fe87cf3a526b6f4c120ed16c3df3cf92ae0a |
| armhf | Linux | telegraf-1.39.3_linux_armhf.tar.gz | 2bfbb9d337e57c252556e384e2b064591ec168c9aa5355e57c31adaecd269969 |
| i386 | Linux | telegraf-1.39.3_linux_i386.tar.gz | 23780ec24a46934e43ed15ace2cec8d3d9263fd54a263b5c17055d3821e6297e |
| loong64 | Linux | telegraf-1.39.3_linux_loong64.tar.gz | 3da8bcefe19366a73f6611412958c7f5abf2af2d81be7f11c7705a55a32c19ac |
| mips | Linux | telegraf-1.39.3_linux_mips.tar.gz | 224610892ad5296ab7b91e47ab65e27318617969d294e20c86e373c289ba1f92 |
| mipsel | Linux | telegraf-1.39.3_linux_mipsel.tar.gz | 0a7151e83b7d4151297ccd38b0669b37776513be8ccef0ff5f8fe3b13a39a6fc |
| ppc64le | Linux | telegraf-1.39.3_linux_ppc64le.tar.gz | 4f1b40b798c4fc216ede9ae52f9474b020b2f2a47d89fb663c282250a89d240b |
| riscv64 | Linux | telegraf-1.39.3_linux_riscv64.tar.gz | d12e259860b23a40aaeb3176911c54a1bb5ec6ecbeb7dee4557529aff42916b0 |
| s390x | Linux | telegraf-1.39.3_linux_s390x.tar.gz | 950928b22ff987936e9b64be51df02637f371c7246ede2fbb96047415a4c3498 |
| amd64 | Windows | telegraf-1.39.3_windows_amd64.zip | 61d03076a17981596604fd3d3f32a4939c24e131cff7099b9a31de0efd3afc53 |
| arm64 | Windows | telegraf-1.39.3_windows_arm64.zip | a3f60fd2911e0e1cca7a89bd3d69939bdf0d83e0c84e1e859e4c301321fa3592 |
| i386 | Windows | telegraf-1.39.3_windows_i386.zip | 8535003ce557d18db1e7875e543b86399b6904b7a25a923fc322bb4c3fdbf781 |
| amd64 | Debian | telegraf_1.39.3-1_amd64.deb | 5e61a873cc488b216ac07d6c7c2a730ce8e78d44655a37ceb24ccd29bba796c7 |
| arm64 | Debian | telegraf_1.39.3-1_arm64.deb | 7f75de7ff0dc4aca5d6fa38bda5cdfe2caabdda879ec76449f9797cf251a27e8 |
| armel | Debian | telegraf_1.39.3-1_armel.deb | f0daa69fdaf6ed09a117cc5a6674b3bdaec99ad0d76ca3ec667d5540c0b6f92a |
| armhf | Debian | telegraf_1.39.3-1_armhf.deb | c07b7b9b6621cad059cf0de91996922366fbb50c275dba2f6c68016b62533c8c |
| i386 | Debian | telegraf_1.39.3-1_i386.deb | c394c76ed126fd63c301463f63528edf35052794ad3def41db504e0c595947a7 |
| loong64 | Debian | telegraf_1.39.3-1_loong64.deb | 681caff11e4fc1e24abc714ecb1f335c272a121272a1817397dbf318eabc24f2 |
| mips | Debian | telegraf_1.39.3-1_mips.deb | c062ba4217dde883793007265a51c33f2c8b28ab0108fc7e2b5c90d5bc950e88 |
| mipsel | Debian | telegraf_1.39.3-1_mipsel.deb | 27d9d7b598044b1d6bc80e0f99e884ff6ba5996e8721c83e35de8ab2ee21239d |
| ppc64el | Debian | telegraf_1.39.3-1_ppc64el.deb | 54a5a979938b1df4d66966a0011bc6fc65f84ba15ff506f197ea974662e50347 |
| riscv64 | Debian | telegraf_1.39.3-1_riscv64.deb | e798fced68604f05c16ce66b0329783934fc24dd3659c045a051be568b2fe81a |
| s390x | Debian | telegraf_1.39.3-1_s390x.deb | cb8b16ed1ff7f86d98fb46826d1891273ee87bbaff2cfbe10c1e64850741db06 |