Server
RustFS server and GUI, a file system compatible with the S3 protocol.
1.0.0-beta.4LatestPre-releaseReleased on 5/21/2026
What's Changed
- test(ecstore): cover managed sse range reads by @marshawcoco in https://github.com/rustfs/rustfs/pull/2962
- ci: force Node24 in Nix workflows with pinned actions by @houseme in https://github.com/rustfs/rustfs/pull/2966
- bucket policy notify & pba by @GatewayJ in https://github.com/rustfs/rustfs/pull/2968
- fix(sftp): preserve OPEN-time client attrs as object metadata by @simon-escapecode in https://github.com/rustfs/rustfs/pull/2913
- ci(build): pin macOS x86 release runner by @overtrue in https://github.com/rustfs/rustfs/pull/2971
- fix(admin): surface access key policy errors by @marshawcoco in https://github.com/rustfs/rustfs/pull/2970
- fix: handle Windows paths in pre-commit tests by @marshawcoco in https://github.com/rustfs/rustfs/pull/2974
- ci(build): honor console asset download fallback by @overtrue in https://github.com/rustfs/rustfs/pull/2980
- docs: fix some dead links by @yihong0618 in https://github.com/rustfs/rustfs/pull/2975
- fix(security): harden proxy auth and default credentials by @overtrue in https://github.com/rustfs/rustfs/pull/2981
- fix: stabilize rebalance start and listing by @weisd in https://github.com/rustfs/rustfs/pull/2961
- fix(runtime): finalize issue 2941 profiling cleanup by @houseme in https://github.com/rustfs/rustfs/pull/2983
- fix(policy): align action-family validation and defaults by @GatewayJ in https://github.com/rustfs/rustfs/pull/2984
- test(policy): validate default policies by @overtrue in https://github.com/rustfs/rustfs/pull/2985
- ci(nix): avoid requesting review from PR author by @overtrue in https://github.com/rustfs/rustfs/pull/2987
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/2986
- fix(notify): accept case-insensitive filter rule names by @marshawcoco in https://github.com/rustfs/rustfs/pull/2990
- docs: update security advisory skill lessons by @overtrue in https://github.com/rustfs/rustfs/pull/2991
- fix(ecstore): list_object_v2 error when scanning multipart folder by @Littlew0od in https://github.com/rustfs/rustfs/pull/2946
- fix: harden lifecycle transition compensation and regression coverage by @houseme in https://github.com/rustfs/rustfs/pull/2995
- fix: keep scanner walk timeouts from offlining drives by @weisd in https://github.com/rustfs/rustfs/pull/2996
- fix(ecstore): guard transition worker max by @overtrue in https://github.com/rustfs/rustfs/pull/3003
- perf: avoid blocking hop for owned disk writes by @overtrue in https://github.com/rustfs/rustfs/pull/3004
- fix: make help color not right by @yihong0618 in https://github.com/rustfs/rustfs/pull/3005
- fix(notify): parse IPv6 hosts without ports by @marshawcoco in https://github.com/rustfs/rustfs/pull/3000
- chore: update dependencies by @houseme in https://github.com/rustfs/rustfs/pull/2890
- fix(ecstore): stop listing after reaching result limit by @overtrue in https://github.com/rustfs/rustfs/pull/3001
- feat(internode): add transport observability by @marshawcoco in https://github.com/rustfs/rustfs/pull/3007
- perf(filemeta): rename_data metadata optimization by @houseme in https://github.com/rustfs/rustfs/pull/3011
- feat(obs): expose key S3 usecase spans at info by @houseme in https://github.com/rustfs/rustfs/pull/3013
- refactor(s3): consolidate semantic boundaries and remove s3-common by @houseme in https://github.com/rustfs/rustfs/pull/3012
- chore(ci): pin RustFS setup-protoc release by @overtrue in https://github.com/rustfs/rustfs/pull/3016
- fix(heal): ignore missing response subscribers by @overtrue in https://github.com/rustfs/rustfs/pull/3015
- perf(ecstore): remove owned write sync regression by @overtrue in https://github.com/rustfs/rustfs/pull/3018
- feat(ecstore): add internode transport boundary and TCP baseline runner by @marshawcoco in https://github.com/rustfs/rustfs/pull/3010
- fix(utils): handle IPv6 zones and hex ranges by @overtrue in https://github.com/rustfs/rustfs/pull/3019
- fix(obs): remove stale replication metric TODOs by @overtrue in https://github.com/rustfs/rustfs/pull/3024
- fix(ecstore): remove stale disk TODOs by @overtrue in https://github.com/rustfs/rustfs/pull/3022
- fix(ecstore): remove stale bucket metadata parse TODO by @overtrue in https://github.com/rustfs/rustfs/pull/3021
- fix(utils): map common Linux filesystem magic values by @overtrue in https://github.com/rustfs/rustfs/pull/3023
- fix(obs): add proxied PUT replication metrics by @overtrue in https://github.com/rustfs/rustfs/pull/3020
- feat(internode): harden p0 transport boundary and baseline tooling by @marshawcoco in https://github.com/rustfs/rustfs/pull/3017
- refactor(ecstore): decouple transport construction from RemoteDisk by @marshawcoco in https://github.com/rustfs/rustfs/pull/3027
- refactor: converge storage io hot paths by @houseme in https://github.com/rustfs/rustfs/pull/3029
- chore(release): prepare 1.0.0-beta.4 by @houseme in https://github.com/rustfs/rustfs/pull/3032
- chore(deps): refresh workspace deps and linux fs_type gating by @houseme in https://github.com/rustfs/rustfs/pull/3030
New Contributors
- @Littlew0od made their first contribution in https://github.com/rustfs/rustfs/pull/2946
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-beta.3...1.0.0-beta.4
1.0.0-beta.3Pre-releaseReleased on 5/14/2026
What's Changed
- fix(object-lock): materialize default retention metadata by @GatewayJ in https://github.com/rustfs/rustfs/pull/2824
- test(s3): promote passing copy metadata case by @overtrue in https://github.com/rustfs/rustfs/pull/2832
- fix: 2827 lifecycle days next midnight by @cxymds in https://github.com/rustfs/rustfs/pull/2833
- fix(security): document unsafe and TLS overrides by @overtrue in https://github.com/rustfs/rustfs/pull/2835
- feat: add features option to build script by @giter in https://github.com/rustfs/rustfs/pull/2834
- test(build): cover build script feature flags by @overtrue in https://github.com/rustfs/rustfs/pull/2837
- test(helm): cover standalone scale-to-zero rendering by @overtrue in https://github.com/rustfs/rustfs/pull/2831
- test(lifecycle): cover ILM process time aliases by @overtrue in https://github.com/rustfs/rustfs/pull/2839
- test(object-lock): cover default retention delete marker by @GatewayJ in https://github.com/rustfs/rustfs/pull/2836
- fix(replication): handle version ID format mismatch with AWS S3 by @ajax-bakun-n in https://github.com/rustfs/rustfs/pull/2829
- test(replication): cover ETag comparison edge cases by @overtrue in https://github.com/rustfs/rustfs/pull/2840
- fix(build): quote build script features argument by @overtrue in https://github.com/rustfs/rustfs/pull/2841
- fix(admin): normalize empty admin POST content length by @cxymds in https://github.com/rustfs/rustfs/pull/2843
- feat(rustfs): add ftps/webdav defaults to info output by @houseme in https://github.com/rustfs/rustfs/pull/2845
- bump workspace versions and replace cfg-if in crypto by @houseme in https://github.com/rustfs/rustfs/pull/2851
- fix(ecstore): remove startup order sensitivity by @cxymds in https://github.com/rustfs/rustfs/pull/2850
- test(admin): cover POST content length compat layer by @overtrue in https://github.com/rustfs/rustfs/pull/2844
- feat(targets): complete redis mysql postgres target wiring by @houseme in https://github.com/rustfs/rustfs/pull/2842
- fix(ecstore): repair decommission pool quorum by @cxymds in https://github.com/rustfs/rustfs/pull/2847
- docs(io-metrics): fix misleading metrics links by @marshawcoco in https://github.com/rustfs/rustfs/pull/2849
- fix(targets): probe webhook health by host port by @houseme in https://github.com/rustfs/rustfs/pull/2854
- docs(security): refresh advisory lesson states by @overtrue in https://github.com/rustfs/rustfs/pull/2859
- test(targets): cover Redis env config loading by @overtrue in https://github.com/rustfs/rustfs/pull/2857
- test(s3): promote lifecycle expiration header tests by @overtrue in https://github.com/rustfs/rustfs/pull/2858
- docs(security): make advisory skill lesson first by @overtrue in https://github.com/rustfs/rustfs/pull/2860
- feat: enrich admin pools list response by @cxymds in https://github.com/rustfs/rustfs/pull/2853
- fix(ecstore): reset drive health between store init format retries by @weisd in https://github.com/rustfs/rustfs/pull/2848
- test(ecstore): cover store init health reset delegation by @overtrue in https://github.com/rustfs/rustfs/pull/2865
- test(admin): cover pool used-size saturation by @overtrue in https://github.com/rustfs/rustfs/pull/2863
- docs: ban rust-refactor-helper skill by @overtrue in https://github.com/rustfs/rustfs/pull/2869
- test(admin): cover pools list response serialization by @overtrue in https://github.com/rustfs/rustfs/pull/2862
- fix(iam): keep error state on initial load failure by @marshawcoco in https://github.com/rustfs/rustfs/pull/2846
- fix(ecstore): harden runtime read-path quorum handling by @houseme in https://github.com/rustfs/rustfs/pull/2872
- test(ecstore): cover system path failure classifier by @overtrue in https://github.com/rustfs/rustfs/pull/2874
- test(ecstore): cover offline capacity snapshots by @overtrue in https://github.com/rustfs/rustfs/pull/2880
- feat(targets): add AMQP support for notify and audit by @houseme in https://github.com/rustfs/rustfs/pull/2879
- fix(targets): handle postgres dsn redaction scheme case by @overtrue in https://github.com/rustfs/rustfs/pull/2886
- test(ecstore): cover empty runtime listing candidates by @overtrue in https://github.com/rustfs/rustfs/pull/2889
- docs(targets): sync AGENTS.md and test doc comments with code by @JaySon-Huang in https://github.com/rustfs/rustfs/pull/2881
- fix(server): handle public health before s3 host parsing by @marshawcoco in https://github.com/rustfs/rustfs/pull/2866
- fix: empty-body requests without content length by @SamuraJey in https://github.com/rustfs/rustfs/pull/2888
- fix(sse): Temporarily refactored the SSE design for ECStore by @reatang in https://github.com/rustfs/rustfs/pull/2813
- feat: enhance WebDAV support with features and directory operations (#2856) by @houseme in https://github.com/rustfs/rustfs/pull/2892
- feat(sftp): add SFTPv3 protocol support by @simon-escapecode in https://github.com/rustfs/rustfs/pull/2875
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/2894
- test(sftp): cover init negotiation and platform gating by @overtrue in https://github.com/rustfs/rustfs/pull/2896
- test(sftp): cover init session activity stamp by @overtrue in https://github.com/rustfs/rustfs/pull/2898
- keep sftp e2e tests buildable by @houseme in https://github.com/rustfs/rustfs/pull/2897
- feat(targets): add check_mysql_server_available probe function by @JaySon-Huang in https://github.com/rustfs/rustfs/pull/2884
- test(s3): promote passing SSE multipart cases by @overtrue in https://github.com/rustfs/rustfs/pull/2900
- optimize(obs):zero and expire removed replication bandwidth series by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/2901
- fix(targets): handle MySQL DSN scheme case by @overtrue in https://github.com/rustfs/rustfs/pull/2903
- test(obs): cover replication bandwidth tombstones by @overtrue in https://github.com/rustfs/rustfs/pull/2906
- test(targets): cover MySQL probe validation by @overtrue in https://github.com/rustfs/rustfs/pull/2907
- fix(sftp): classify backend errors by type by @marshawcoco in https://github.com/rustfs/rustfs/pull/2909
- fix(protocols): encode storage client request URIs by @marshawcoco in https://github.com/rustfs/rustfs/pull/2911
- test(e2e): gate protocol runner by requested features by @marshawcoco in https://github.com/rustfs/rustfs/pull/2912
- fix(notify): match filters against decoded event keys by @marshawcoco in https://github.com/rustfs/rustfs/pull/2921
- fix(ecstore): fail listing on stalled reader by @marshawcoco in https://github.com/rustfs/rustfs/pull/2920
- fix(storage): sync transition tier config across peers by @cxymds in https://github.com/rustfs/rustfs/pull/2918
- fix(ecstore): preserve list marker set index by @marshawcoco in https://github.com/rustfs/rustfs/pull/2919
- fix(protocols): add hot reload for WebDAV FTPS and SFTP by @houseme in https://github.com/rustfs/rustfs/pull/2922
- test(protocols): cover TLS reload fingerprint ordering by @overtrue in https://github.com/rustfs/rustfs/pull/2927
- iam: handle sts claim policy names by @GatewayJ in https://github.com/rustfs/rustfs/pull/2902
- test(iam): cover mixed STS claim policy names by @overtrue in https://github.com/rustfs/rustfs/pull/2932
- test(protocols): cover SFTP host key reload failure by @overtrue in https://github.com/rustfs/rustfs/pull/2928
- fix(sftp): preserve open attrs metadata by @marshawcoco in https://github.com/rustfs/rustfs/pull/2929
- test(notify): cover encoded key target union by @overtrue in https://github.com/rustfs/rustfs/pull/2934
- fix: make HeadObject consistent after write completion by @houseme in https://github.com/rustfs/rustfs/pull/2936
- fix(tls): ignore Kubernetes secret projection dirs by @marshawcoco in https://github.com/rustfs/rustfs/pull/2938
- fix(server): fail fast when configured TLS parsing fails by @houseme in https://github.com/rustfs/rustfs/pull/2939
- fix(ecstore): surface prefix listing storage errors by @weisd in https://github.com/rustfs/rustfs/pull/2940
- fix(storage): keep storage info RPC map encoded by @weisd in https://github.com/rustfs/rustfs/pull/2942
- fix(sftp): avoid metadata on multipart copy by @overtrue in https://github.com/rustfs/rustfs/pull/2935
- fix(ecstore): fail listing on walk_dir producer errors by @marshawcoco in https://github.com/rustfs/rustfs/pull/2937
- fix: preserve pagination when max keys exceed limit by @weisd in https://github.com/rustfs/rustfs/pull/2943
- fix(ecstore): map missing metadata to not found by @cxymds in https://github.com/rustfs/rustfs/pull/2944
- Fix #2775 recursive list handling in LocalDisk::scan_dir() by @SamuraJey in https://github.com/rustfs/rustfs/pull/2923
- fix(ecstore): propagate walk listing errors by @marshawcoco in https://github.com/rustfs/rustfs/pull/2949
- fix(notify): keep live listen events active when disabled by @marshawcoco in https://github.com/rustfs/rustfs/pull/2952
- test(ecstore): cover walk listing error success paths by @overtrue in https://github.com/rustfs/rustfs/pull/2954
- chore(release): prepare 1.0.0-beta.3 by @houseme in https://github.com/rustfs/rustfs/pull/2957
- refactor(targets): unify queue/connectivity handling and coverage by @houseme in https://github.com/rustfs/rustfs/pull/2953
- fix(ecstore): use hex sha256 for delete objects by @marshawcoco in https://github.com/rustfs/rustfs/pull/2958
- test(notify): cover prefix suffix event dispatch by @marshawcoco in https://github.com/rustfs/rustfs/pull/2960
New Contributors
- @ajax-bakun-n made their first contribution in https://github.com/rustfs/rustfs/pull/2829
- @SamuraJey made their first contribution in https://github.com/rustfs/rustfs/pull/2888
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-beta.2...1.0.0-beta.3
1.0.0-beta.2Pre-releaseReleased on 5/6/2026
What's Changed
- fix: docker image build and helm chart publish error caused by versio… by @majinghe in https://github.com/rustfs/rustfs/pull/2731
- fix(admin): harden site-replication identity handling and local verification for issue 2723 by @houseme in https://github.com/rustfs/rustfs/pull/2730
- feat: helm publish manual trigger support by @majinghe in https://github.com/rustfs/rustfs/pull/2732
- test(webdav): cover decoded path parsing by @overtrue in https://github.com/rustfs/rustfs/pull/2729
- feat: helm chart version update by @majinghe in https://github.com/rustfs/rustfs/pull/2738
- docs: simplify pull request template by @overtrue in https://github.com/rustfs/rustfs/pull/2744
- fix(ci): keep Helm chart versions valid for non-beta releases by @overtrue in https://github.com/rustfs/rustfs/pull/2749
- test(admin): cover site replication absolute URI endpoint by @overtrue in https://github.com/rustfs/rustfs/pull/2745
- test(ci): cover Helm chart version mapping by @overtrue in https://github.com/rustfs/rustfs/pull/2751
- fix(filemeta): harden and optimize metacache path by @GatewayJ in https://github.com/rustfs/rustfs/pull/2724
- test(ci): cover Helm Recreate strategy rendering by @overtrue in https://github.com/rustfs/rustfs/pull/2752
- test(filemeta): cover shared cache reuse by @overtrue in https://github.com/rustfs/rustfs/pull/2754
- test(filemeta): cover no-wait refresh coalescing by @overtrue in https://github.com/rustfs/rustfs/pull/2755
- test(admin): cover site replication scheme normalization by @overtrue in https://github.com/rustfs/rustfs/pull/2757
- test(filemeta): cover future cache timestamp refresh by @overtrue in https://github.com/rustfs/rustfs/pull/2762
- test(admin): cover peer identity scheme dedupe by @overtrue in https://github.com/rustfs/rustfs/pull/2764
- fix: handle empty multipart list-parts by @overtrue in https://github.com/rustfs/rustfs/pull/2765
- test(admin): cover site identity merge gaps by @overtrue in https://github.com/rustfs/rustfs/pull/2767
- test(ecstore): cover ranged decode and harden offset bounds by @RamakrishnaChilaka in https://github.com/rustfs/rustfs/pull/2758
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/2777
- fix(security): harden CORS and license handling by @overtrue in https://github.com/rustfs/rustfs/pull/2774
- Harden admin and RPC security checks by @overtrue in https://github.com/rustfs/rustfs/pull/2773
- fix: address security review follow-ups by @overtrue in https://github.com/rustfs/rustfs/pull/2781
- Ensure CreationDate is always present in ListBuckets response by @joeyshi12 in https://github.com/rustfs/rustfs/pull/2783
- build(deps): bump the dependencies group with 4 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2785
- test(license): cover public key validation by @overtrue in https://github.com/rustfs/rustfs/pull/2793
- test(admin): cover legacy profile auth guards by @overtrue in https://github.com/rustfs/rustfs/pull/2799
- test: cover license verifier success path by @overtrue in https://github.com/rustfs/rustfs/pull/2798
- fix: Fix formatting issue in ARCHITECTURE.md by @JaySon-Huang in https://github.com/rustfs/rustfs/pull/2787
- fix(rpc): use map-encoded msgpack for all internode RPC responses by @kharkevich in https://github.com/rustfs/rustfs/pull/2771
- fix(server): avoid logging default credential values by @marshawcoco in https://github.com/rustfs/rustfs/pull/2800
- docs: add security advisory lessons skill by @overtrue in https://github.com/rustfs/rustfs/pull/2801
- fix(admin): allow site replication removal with offline peers by @cxymds in https://github.com/rustfs/rustfs/pull/2739
- test: cover RPC secret trimming fallback by @overtrue in https://github.com/rustfs/rustfs/pull/2796
- fix(s3): advertise byte ranges on head object by @overtrue in https://github.com/rustfs/rustfs/pull/2802
- fix(notify): validate bucket notification filter rules by @houseme in https://github.com/rustfs/rustfs/pull/2806
- fix(lock): make slow-path waiter accounting cancellation-safe by @houseme in https://github.com/rustfs/rustfs/pull/2805
- fix(getobject): prevent large-download memory buffering by @houseme in https://github.com/rustfs/rustfs/pull/2809
- test(lock): cover shared waiter abort cleanup by @overtrue in https://github.com/rustfs/rustfs/pull/2811
- fix(admin): clear removed site resync status by @overtrue in https://github.com/rustfs/rustfs/pull/2803
- build(deps): bump the dependencies group with 3 updates by @houseme in https://github.com/rustfs/rustfs/pull/2812
- fix(notify): improve webhook target diagnostics for env setup by @houseme in https://github.com/rustfs/rustfs/pull/2810
- test(admin): cover orphan resync status cleanup by @overtrue in https://github.com/rustfs/rustfs/pull/2816
- test(getobject): cover buffer threshold edge cases by @overtrue in https://github.com/rustfs/rustfs/pull/2817
- fix(auth): authorize DeleteObjects per key by @GatewayJ in https://github.com/rustfs/rustfs/pull/2814
- refactor: unify credential env constants and deploy env usage by @houseme in https://github.com/rustfs/rustfs/pull/2821
- test(credentials): avoid printing default secret by @marshawcoco in https://github.com/rustfs/rustfs/pull/2820
- fix: preserve data on self metadata copy by @overtrue in https://github.com/rustfs/rustfs/pull/2819
- feat(helm-chart): support scale to 0 in standalone mode by @dcelasun in https://github.com/rustfs/rustfs/pull/2797
- security: same-origin console CORS, fail-closed helm creds, deny.toml, sample-config hardening by @skandragon in https://github.com/rustfs/rustfs/pull/2769
- fix(rpc): add issue 2815 regression and docker validation by @houseme in https://github.com/rustfs/rustfs/pull/2828
- fix(policy): avoid logging generated access keys by @marshawcoco in https://github.com/rustfs/rustfs/pull/2826
- fix: reload bucket metadata after lifecycle updates by @cxymds in https://github.com/rustfs/rustfs/pull/2822
⚠️ Breaking Changes
Console CORS default
RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS*RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS=*New Contributors
- @joeyshi12 made their first contribution in https://github.com/rustfs/rustfs/pull/2783
- @JaySon-Huang made their first contribution in https://github.com/rustfs/rustfs/pull/2787
- @dcelasun made their first contribution in https://github.com/rustfs/rustfs/pull/2797
- @skandragon made their first contribution in https://github.com/rustfs/rustfs/pull/2769
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-beta.1...1.0.0-beta.2
1.0.0-beta.1Pre-releaseReleased on 4/29/2026
What's Changed
- feat(obs): improve metrics coverage and dashboard performance by @houseme in https://github.com/rustfs/rustfs/pull/2682
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/2683
- test(utils): cover disk-check env alias precedence by @overtrue in https://github.com/rustfs/rustfs/pull/2684
- fix(admin): map IAM not found errors to 404 by @GatewayJ in https://github.com/rustfs/rustfs/pull/2685
- feat: add console-managed audit and notify module switches by @houseme in https://github.com/rustfs/rustfs/pull/2690
- perf(memory): add reclaim signals and cache controls by @houseme in https://github.com/rustfs/rustfs/pull/2689
- test(server): cover default module switch source by @overtrue in https://github.com/rustfs/rustfs/pull/2697
- build(deps): bump the dependencies group with 2 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2694
- fix(replication): fan out single-bucket rules to all targets by @weisd in https://github.com/rustfs/rustfs/pull/2701
- fix(iam): propagate cache miss load failures by @GatewayJ in https://github.com/rustfs/rustfs/pull/2692
- fix(replication): prevent target state loss across buckets by @weisd in https://github.com/rustfs/rustfs/pull/2704
- fix(ilm): harden signer failures and guard remote tier delete storms by @houseme in https://github.com/rustfs/rustfs/pull/2706
- fix: honor bucket-scoped ListBucket policies with s3:prefix by @overtrue in https://github.com/rustfs/rustfs/pull/2707
- fix(ecstore): log walk failures in IAM listing path by @GatewayJ in https://github.com/rustfs/rustfs/pull/2705
- build(deps): bump the dependencies group with 2 updates by @houseme in https://github.com/rustfs/rustfs/pull/2709
- fix(iam): preserve portable IAM storage and derived auth by @weisd in https://github.com/rustfs/rustfs/pull/2713
- fix(storage): avoid faulting local drives on transient timeouts by @weisd in https://github.com/rustfs/rustfs/pull/2714
- fix(lifecycle): prevent eager date-expiry deletion on config update by @houseme in https://github.com/rustfs/rustfs/pull/2708
- fix(policy): allow AssumeRole in system policies by @cxymds in https://github.com/rustfs/rustfs/pull/2718
- fix(obs): disable profiling export by default and fix Helm env name by @houseme in https://github.com/rustfs/rustfs/pull/2719
- fix(webdav): decode URL-encoded filenames in path parsing by @giter in https://github.com/rustfs/rustfs/pull/2722
- fix(policy): preserve gateway ListBucket resources by @overtrue in https://github.com/rustfs/rustfs/pull/2710
- test(signer): cover header fallback helpers by @overtrue in https://github.com/rustfs/rustfs/pull/2711
- fix(window): Compatible with Windows Path by @reatang in https://github.com/rustfs/rustfs/pull/2691
- fix(helm): only render rollingUpdate when strategy type is RollingUpdate by @rafaelperoco in https://github.com/rustfs/rustfs/pull/2728
- chore: update version from alpha to beta by @majinghe in https://github.com/rustfs/rustfs/pull/2720
- test(get): reject range with part number by @RamakrishnaChilaka in https://github.com/rustfs/rustfs/pull/2725
New Contributors
- @giter made their first contribution in https://github.com/rustfs/rustfs/pull/2722
- @rafaelperoco made their first contribution in https://github.com/rustfs/rustfs/pull/2728
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.99...v1.0.0-beta.1
1.0.0-alpha.99Pre-releaseReleased on 4/25/2026
What's Changed
- fix(admin): enforce owner check for service account update by @GatewayJ in https://github.com/rustfs/rustfs/pull/2646
- refactor(logging): unify request-id propagation and fallback metrics by @houseme in https://github.com/rustfs/rustfs/pull/2652
- refactor(targets): unify endpoint source/merge logic and bump rustfs-kafka-async to v1.2.0 by @houseme in https://github.com/rustfs/rustfs/pull/2654
- build(deps): bump the dependencies group with 6 updates by @houseme in https://github.com/rustfs/rustfs/pull/2659
- test(admin): cover list service account authorization by @overtrue in https://github.com/rustfs/rustfs/pull/2650
- feat(obs): support OTLP headers and timeout overrides for HTTP exporters by @houseme in https://github.com/rustfs/rustfs/pull/2661
- fix(admin): harden health readiness and add health response controls by @houseme in https://github.com/rustfs/rustfs/pull/2662
- fix(console): block disabled health probes from SPA fallback by @overtrue in https://github.com/rustfs/rustfs/pull/2665
- fix(oidc): add federated logout flow by @cxymds in https://github.com/rustfs/rustfs/pull/2667
- feat(policy): implement BinaryEquals condition evaluation by @RamakrishnaChilaka in https://github.com/rustfs/rustfs/pull/2626
- feat(rustfs): gate audit/notify by global env switches by @houseme in https://github.com/rustfs/rustfs/pull/2669
- fix(audit): remove unwrap from target shutdown path by @marshawcoco in https://github.com/rustfs/rustfs/pull/2668
- feat(obs): improve telemetry stack, replication metrics, and Grafana alignment by @houseme in https://github.com/rustfs/rustfs/pull/2672
- fix(metrics): keep S3 op counts when chains are disabled by @overtrue in https://github.com/rustfs/rustfs/pull/2675
- feat(trusted-proxies): add switchable simple and legacy modes by @houseme in https://github.com/rustfs/rustfs/pull/2674
- fix: avoid sending HEAD bodies over TLS HTTP/2 by @reatang in https://github.com/rustfs/rustfs/pull/2648
- fix(admin): harden STS and KMS authorization checks by @marshawcoco in https://github.com/rustfs/rustfs/pull/2653
- fix(site-replication): sync IAM and bucket replication by @cxymds in https://github.com/rustfs/rustfs/pull/2671
- build(deps): bump the dependencies group with 7 updates by @houseme in https://github.com/rustfs/rustfs/pull/2676
- test(ecstore): cover non-zero offset shard span reads by @overtrue in https://github.com/rustfs/rustfs/pull/2677
- feat(ecstore): enforce local disk topology guardrails and expose device ids by @houseme in https://github.com/rustfs/rustfs/pull/2679
- fix(ecstore): log missing local paths during physical disk independence checks by @houseme in https://github.com/rustfs/rustfs/pull/2680
New Contributors
- @RamakrishnaChilaka made their first contribution in https://github.com/rustfs/rustfs/pull/2626
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.98...1.0.0-alpha.99
1.0.0-alpha.98Pre-releaseReleased on 4/22/2026
What's Changed
- fix(s3): return 304 Not Modified instead of dropping the connection by @sciyoshi in https://github.com/rustfs/rustfs/pull/2627
- refactor: update binary field types and conversions in RPC and protofiles by @reatang in https://github.com/rustfs/rustfs/pull/2619
- fix(security): redact target debug logs and remove eval-based bench hook by @houseme in https://github.com/rustfs/rustfs/pull/2637
- fix(lock): prevent stale distributed object locks by @weisd in https://github.com/rustfs/rustfs/pull/2633
- fix: prevent object lock retention race by @weisd in https://github.com/rustfs/rustfs/pull/2634
- test(targets): cover target config redaction by @overtrue in https://github.com/rustfs/rustfs/pull/2638
- fix(storage): list prefix children behind marker objects by @weisd in https://github.com/rustfs/rustfs/pull/2643
- fix(admin): authorize cross-user ListServiceAccount with ListServiceAccount by @loverustfs in https://github.com/rustfs/rustfs/pull/2640
New Contributors
- @sciyoshi made their first contribution in https://github.com/rustfs/rustfs/pull/2627
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.97...1.0.0-alpha.98
1.0.0-alpha.97Pre-releaseReleased on 4/21/2026
What's Changed
- fix(lifecycle): correct delete replication fanout by @cxymds in https://github.com/rustfs/rustfs/pull/2609
- feat(targets): add NATS and Pulsar target support by @houseme in https://github.com/rustfs/rustfs/pull/2618
- fix(madmin): restore server_info msgpack compatibility across mixed nodes by @houseme in https://github.com/rustfs/rustfs/pull/2621
- test: cover NATS and Pulsar config validation by @overtrue in https://github.com/rustfs/rustfs/pull/2623
- fix: some expect error by @likewu in https://github.com/rustfs/rustfs/pull/2622
- feat: add OTHER_AUDIENCES config by @ateijelo in https://github.com/rustfs/rustfs/pull/2605
- feat(storage): wire capacity/object perf tuning and add batch benchmark runners by @houseme in https://github.com/rustfs/rustfs/pull/2628
- feat: add support for external/existing certificate issuer by @majinghe in https://github.com/rustfs/rustfs/pull/2631
- fix(scanner): avoid stalls after abandoned child listings by @weisd in https://github.com/rustfs/rustfs/pull/2632
New Contributors
- @ateijelo made their first contribution in https://github.com/rustfs/rustfs/pull/2605
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.96...1.0.0-alpha.97
1.0.0-alpha.96Pre-releaseReleased on 4/20/2026
What's Changed
- fix(replication): clean targets when deleting config by @overtrue in https://github.com/rustfs/rustfs/pull/2599
- test(s3): promote passing compatibility cases by @overtrue in https://github.com/rustfs/rustfs/pull/2600
- test: cover S3 error XML body compatibility by @overtrue in https://github.com/rustfs/rustfs/pull/2606
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.95...1.0.0-alpha.96
1.0.0-alpha.95Pre-releaseReleased on 4/19/2026
What's Changed
- chore(lint): clippy rules large_futures by @Tunglies in https://github.com/rustfs/rustfs/pull/2555
- test(ecstore): cover fresh tmp cleanup path by @overtrue in https://github.com/rustfs/rustfs/pull/2562
- add kms environment variables support in helm chart by @majinghe in https://github.com/rustfs/rustfs/pull/2552
- fix: update base image to fix security issue caused by alpine by @majinghe in https://github.com/rustfs/rustfs/pull/2563
- lint: clippy rules or_fun_call by @Tunglies in https://github.com/rustfs/rustfs/pull/2561
- fix(storage): harden offline drive fail-fast paths by @houseme in https://github.com/rustfs/rustfs/pull/2564
- fix: update mtls configuration for standalone and distributed mode by @majinghe in https://github.com/rustfs/rustfs/pull/2565
- feat(lifecycle): improve ILM compatibility and scanner runtime config by @houseme in https://github.com/rustfs/rustfs/pull/2534
- fix(helm): disable kms default by @majinghe in https://github.com/rustfs/rustfs/pull/2566
- Centralize lifecycle state updates and fix systemd running status by @houseme in https://github.com/rustfs/rustfs/pull/2567
- fix(admin): align accountinfo policy with IAM prepare_auth for OIDC console by @GatewayJ in https://github.com/rustfs/rustfs/pull/2568
- fix(storage): avoid startup UUID disk lookup misses by @weisd in https://github.com/rustfs/rustfs/pull/2576
- chore: move mcp crate to standalone repository by @houseme in https://github.com/rustfs/rustfs/pull/2578
- test(utils): cover scanner env alias mapping by @overtrue in https://github.com/rustfs/rustfs/pull/2574
- fix(iam): decouple IAM config encryption from root secret rotation by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/2558
- fix(cache): wire trusted-proxy cache and remove stale cache traces by @houseme in https://github.com/rustfs/rustfs/pull/2581
- refactor(metrics): separate console stream from exports by @houseme in https://github.com/rustfs/rustfs/pull/2583
- fix(admin): restore access key listing and guard boot-time uptime by @GatewayJ in https://github.com/rustfs/rustfs/pull/2580
- refactor(obs): migrate metrics runtime/schema and tighten migration guards by @houseme in https://github.com/rustfs/rustfs/pull/2584
- docs: update agent contribution guidelines by @overtrue in https://github.com/rustfs/rustfs/pull/2585
- test(s3): reclassify passing compatibility cases by @overtrue in https://github.com/rustfs/rustfs/pull/2586
- test(scanner): avoid flaky noncurrent version counting by @GatewayJ in https://github.com/rustfs/rustfs/pull/2589
- fix(oidc): prefer username for session identity by @GatewayJ in https://github.com/rustfs/rustfs/pull/2588
- fix(sse). Resolving Nonce Overwriting Issues in Multi-Package Scenarios by @reatang in https://github.com/rustfs/rustfs/pull/2582
- fix(s3): ignore empty conditional ETag headers by @overtrue in https://github.com/rustfs/rustfs/pull/2592
- refactor(metrics): unify process sampling and split network IO by @houseme in https://github.com/rustfs/rustfs/pull/2590
- fix(scanner): stabilize data usage cache persistence under slow metadata I/O by @houseme in https://github.com/rustfs/rustfs/pull/2594
- fix: handle raw URI paths in SigV4 by @overtrue in https://github.com/rustfs/rustfs/pull/2593
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/2597
- fix(admin): accept trailing slash listen notification paths by @overtrue in https://github.com/rustfs/rustfs/pull/2595
- fix(s3): improve GitLab registry compatibility by @overtrue in https://github.com/rustfs/rustfs/pull/2596
- test(s3): cover signed equals object reads by @overtrue in https://github.com/rustfs/rustfs/pull/2598
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.94...1.0.0-alpha.95
1.0.0-alpha.94Pre-releaseReleased on 4/16/2026
What's Changed
- refactor(storage): trim thin s3 forwarding layers by @overtrue in https://github.com/rustfs/rustfs/pull/2474
- fix(server): warn on default credentials with console enabled by @marshawcoco in https://github.com/rustfs/rustfs/pull/2448
- refactor(storage): inline list response params by @overtrue in https://github.com/rustfs/rustfs/pull/2476
- refactor(storage): inline extract put-object branch by @overtrue in https://github.com/rustfs/rustfs/pull/2482
- refactor(storage): drop ecfs test-only helper by @overtrue in https://github.com/rustfs/rustfs/pull/2484
- test(utils): make retry timer assertions deterministic by @marshawcoco in https://github.com/rustfs/rustfs/pull/2468
- test(bucket): cover inline list response params by @overtrue in https://github.com/rustfs/rustfs/pull/2483
- refactor(storage): inline object metadata read entrypoints by @overtrue in https://github.com/rustfs/rustfs/pull/2485
- refactor(storage): inline object tagging entrypoints by @overtrue in https://github.com/rustfs/rustfs/pull/2486
- refactor(storage): inline object lock metadata writes by @overtrue in https://github.com/rustfs/rustfs/pull/2489
- fix(deploy): use standard rustfs log directory by @jlon in https://github.com/rustfs/rustfs/pull/2491
- fix(storage): fix critical bug in range calculation by @zeapo in https://github.com/rustfs/rustfs/pull/2493
- fix(get): validate fast path body before response commit by @houseme in https://github.com/rustfs/rustfs/pull/2495
- fix(obs): respect error log level for http warnings by @jlon in https://github.com/rustfs/rustfs/pull/2492
- fix(storage): align archive content-encoding with S3 semantics by @houseme in https://github.com/rustfs/rustfs/pull/2496
- refactor(storage): inline object lock config entrypoints by @overtrue in https://github.com/rustfs/rustfs/pull/2494
- fix(deploy): auto-create rustfs log directory by @overtrue in https://github.com/rustfs/rustfs/pull/2500
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/2498
- build(deps): bump the dependencies group with 3 updates by @houseme in https://github.com/rustfs/rustfs/pull/2503
- refactor(storage): inline acl entrypoints by @overtrue in https://github.com/rustfs/rustfs/pull/2501
- test(get): cover fast path pre-commit errors by @overtrue in https://github.com/rustfs/rustfs/pull/2502
- fix(get): remove GET chunk fast path by @overtrue in https://github.com/rustfs/rustfs/pull/2507
- fix(admin): enforce event and audit target auth by @houseme in https://github.com/rustfs/rustfs/pull/2508
- build(deps): bump the dependencies group with 2 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2513
- docs: add ARCHITECTURE.md for project-wide code navigation by @overtrue in https://github.com/rustfs/rustfs/pull/2519
- fix: remove dead replace() call in gen_secret_key (credentials.rs) by @kuishou68 in https://github.com/rustfs/rustfs/pull/2515
- refactor(utils): decouple config deps and move sys helpers by @houseme in https://github.com/rustfs/rustfs/pull/2520
- test(get): cover reader-backed output context by @overtrue in https://github.com/rustfs/rustfs/pull/2516
- docs: Minor formatting clean up in README.md by @lbeckman314 in https://github.com/rustfs/rustfs/pull/2523
- test(credentials): cover URL-safe secret keys by @overtrue in https://github.com/rustfs/rustfs/pull/2524
- fix(io-metrics): remove dead GET chunk fast path metrics by @overtrue in https://github.com/rustfs/rustfs/pull/2531
- revert: restore PutObjReader and remove PUT zero-copy chunk path (#2351 phase 2) by @overtrue in https://github.com/rustfs/rustfs/pull/2532
- revert: remove BlockReadable trait and chunk-based I/O from rio, ecstore, disk layers by @overtrue in https://github.com/rustfs/rustfs/pull/2533
- fix: revert #2351 readers.rs behavioral changes (phase 6) by @overtrue in https://github.com/rustfs/rustfs/pull/2536
- fix: revert standalone #2351 artifacts (phase 5) by @overtrue in https://github.com/rustfs/rustfs/pull/2535
- fix: restore bitrot stream and checksum metadata by @overtrue in https://github.com/rustfs/rustfs/pull/2542
- feat(oidc): add roles_claim and jwt:roles policy support by @GatewayJ in https://github.com/rustfs/rustfs/pull/2509
- revert: remove #2351 chunk I/O and object-io crate (phase 7) by @overtrue in https://github.com/rustfs/rustfs/pull/2543
- fix(admin): allow clearing group policy by @cxymds in https://github.com/rustfs/rustfs/pull/2527
- cleanup: remove orphaned chunk fast-path submodule files by @overtrue in https://github.com/rustfs/rustfs/pull/2545
- build(deps): bump the dependencies group with 7 updates by @houseme in https://github.com/rustfs/rustfs/pull/2546
- fix(admin): replicate empty site groups by @cxymds in https://github.com/rustfs/rustfs/pull/2528
- fix(ecstore): cleanup stale put object temp data by @weisd in https://github.com/rustfs/rustfs/pull/2529
- fix: add different annotations for different pvc by @majinghe in https://github.com/rustfs/rustfs/pull/2547
- fix(ci): enable merge_group trigger for GitHub Merge Queue by @overtrue in https://github.com/rustfs/rustfs/pull/2549
- fix(ci): report CLA check for GitHub Merge Queue by @overtrue in https://github.com/rustfs/rustfs/pull/2551
- fix(scanner): preserve totals for compacted folder scans by @weisd in https://github.com/rustfs/rustfs/pull/2530
- test: cover stored-size range handling by @overtrue in https://github.com/rustfs/rustfs/pull/2544
- chore(lint): clippy rules needless_collect by @Tunglies in https://github.com/rustfs/rustfs/pull/2522
- feat(helm): add generic service and ingress annotation support by @Strangerxxx in https://github.com/rustfs/rustfs/pull/2541
- chore(lint): clippy rules redundant_clone by @Tunglies in https://github.com/rustfs/rustfs/pull/2554
- test(filemeta): flush xl meta test fixture before reopen by @weisd in https://github.com/rustfs/rustfs/pull/2557
New Contributors
- @jlon made their first contribution in https://github.com/rustfs/rustfs/pull/2491
- @zeapo made their first contribution in https://github.com/rustfs/rustfs/pull/2493
- @kuishou68 made their first contribution in https://github.com/rustfs/rustfs/pull/2515
- @lbeckman314 made their first contribution in https://github.com/rustfs/rustfs/pull/2523
- @Tunglies made their first contribution in https://github.com/rustfs/rustfs/pull/2522
- @Strangerxxx made their first contribution in https://github.com/rustfs/rustfs/pull/2541
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.93...1.0.0-alpha.94
1.0.0-alpha.93Pre-releaseReleased on 4/10/2026
What's Changed
- fix(get-object): harden GET fast path against mid-stream regressions by @houseme in https://github.com/rustfs/rustfs/pull/2472
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.92...1.0.0-alpha.93
1.0.0-alpha.92Pre-releaseReleased on 4/10/2026
What's Changed
- ci: force Node.js 24 for JS setup actions by @overtrue in https://github.com/rustfs/rustfs/pull/2424
- ci: normalize tagged release package filenames by @overtrue in https://github.com/rustfs/rustfs/pull/2425
- fix(capacity): harden scope registry, scan symlink guard, and test temp dir cleanup by @houseme in https://github.com/rustfs/rustfs/pull/2432
- build(deps): bump the dependencies group with 4 updates by @houseme in https://github.com/rustfs/rustfs/pull/2435
- refactor(nix): modify git author info by @houseme in https://github.com/rustfs/rustfs/pull/2437
- fix(capacity): ignore future write buckets by @overtrue in https://github.com/rustfs/rustfs/pull/2440
- refactor(app): simplify object usecase plumbing by @overtrue in https://github.com/rustfs/rustfs/pull/2438
- test(capacity): cover poisoned scope registry recovery by @overtrue in https://github.com/rustfs/rustfs/pull/2441
- fix(iam): return policy JSON object from info_policy (#2395) by @GatewayJ in https://github.com/rustfs/rustfs/pull/2436
- docs: Update RustFS console access URL to port 9001 by @wanxger in https://github.com/rustfs/rustfs/pull/2442
- refactor(app): reuse list parts parsing by @overtrue in https://github.com/rustfs/rustfs/pull/2446
- refactor(app): reuse object tagging validation by @overtrue in https://github.com/rustfs/rustfs/pull/2445
- refactor(app): reuse multipart uploads helpers by @overtrue in https://github.com/rustfs/rustfs/pull/2447
- refactor(app): reuse bucket listing helpers by @overtrue in https://github.com/rustfs/rustfs/pull/2449
- refactor(storage): remove unused s3 api facades by @overtrue in https://github.com/rustfs/rustfs/pull/2450
- refactor(app): inline multipart transition helper by @overtrue in https://github.com/rustfs/rustfs/pull/2451
- refactor(app): inline bucket encryption output by @overtrue in https://github.com/rustfs/rustfs/pull/2452
- refactor(app): inline bucket replication output by @overtrue in https://github.com/rustfs/rustfs/pull/2454
- refactor(app): reuse put object request context by @overtrue in https://github.com/rustfs/rustfs/pull/2456
- refactor(app): inline bucket tagging outputs by @overtrue in https://github.com/rustfs/rustfs/pull/2455
- refactor(app): inline trivial s3 api outputs by @overtrue in https://github.com/rustfs/rustfs/pull/2460
- fix(filemeta): accept nil legacy pool metadata by @weisd in https://github.com/rustfs/rustfs/pull/2459
- test(filemeta): cover legacy nil UUID metadata by @overtrue in https://github.com/rustfs/rustfs/pull/2464
- refactor(app): inline object request context types by @overtrue in https://github.com/rustfs/rustfs/pull/2462
- refactor(app): inline remaining tagging outputs by @overtrue in https://github.com/rustfs/rustfs/pull/2461
- docs(readme): fix inconsistent startup instructions by @marshawcoco in https://github.com/rustfs/rustfs/pull/2465
- fix(ecstore): avoid duplicate keys in ListObjectsV2 by @weisd in https://github.com/rustfs/rustfs/pull/2467
New Contributors
- @wanxger made their first contribution in https://github.com/rustfs/rustfs/pull/2442
- @marshawcoco made their first contribution in https://github.com/rustfs/rustfs/pull/2465
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.91...1.0.0-alpha.92
1.0.0-alpha.91Pre-releaseReleased on 4/7/2026
What's Changed
- fix(ecstore): preserve transition object metadata by @cxymds in https://github.com/rustfs/rustfs/pull/2263
- fix(ecstore): honor lifecycle tag filters by @cxymds in https://github.com/rustfs/rustfs/pull/2264
- refactor(auth): Improve UI access token login issue by @heihutu in https://github.com/rustfs/rustfs/pull/2277
- feat(s3): advance parity coverage by @weisd in https://github.com/rustfs/rustfs/pull/2278
- fix(object): always unregister deadlock-tracked get requests by @overtrue in https://github.com/rustfs/rustfs/pull/2275
- fix(disk): Fix Usage Report Capacity Calculation by @houseme in https://github.com/rustfs/rustfs/pull/2274
- fix(checksum): align multipart CRC64NVME with full object by @weisd in https://github.com/rustfs/rustfs/pull/2286
- feat(obs): integrate dial9-tokio-telemetry for runtime tracing by @houseme in https://github.com/rustfs/rustfs/pull/2285
- fix(tier): sweep transitioned copies from delete handlers by @weisd in https://github.com/rustfs/rustfs/pull/2287
- ci(build): enable tokio_unstable flag in Build RustFS job by @houseme in https://github.com/rustfs/rustfs/pull/2289
- feat(object-lock): complete legal hold enforcement by @weisd in https://github.com/rustfs/rustfs/pull/2293
- feat(ecstore): implement decommission and rebalance by @overtrue in https://github.com/rustfs/rustfs/pull/2281
- fix(object-lock): recover remaining s3 tests by @weisd in https://github.com/rustfs/rustfs/pull/2294
- feat(s3): reject write-offset-bytes requests compatibly by @weisd in https://github.com/rustfs/rustfs/pull/2295
- add ec environment variables in helm chart by @majinghe in https://github.com/rustfs/rustfs/pull/2290
- build(deps): bump the dependencies group with 6 updates by @houseme in https://github.com/rustfs/rustfs/pull/2303
- fix(filemeta): support legacy xl.meta compatibility by @weisd in https://github.com/rustfs/rustfs/pull/2304
- feat(admin): add MinIO-compatible admin aliases by @overtrue in https://github.com/rustfs/rustfs/pull/2307
- feat(admin): align heal compatibility routes by @overtrue in https://github.com/rustfs/rustfs/pull/2311
- test(storage): cover write-offset rejection by @overtrue in https://github.com/rustfs/rustfs/pull/2316
- test(s3): complete snowball auto-extract coverage by @overtrue in https://github.com/rustfs/rustfs/pull/2313
- refactor(capacity): optimize capacity management module by @houseme in https://github.com/rustfs/rustfs/pull/2325
- feat(iam,admin): prepared IAM auth, ExistingObjectTag, admin permission checks by @GatewayJ in https://github.com/rustfs/rustfs/pull/2315
- test(s3): complete snowball auto-extract compatibility by @overtrue in https://github.com/rustfs/rustfs/pull/2324
- test(object-lock): cover validation gaps by @overtrue in https://github.com/rustfs/rustfs/pull/2318
- test(admin): cover compatible alias routes by @overtrue in https://github.com/rustfs/rustfs/pull/2328
- fix(admin): route root heal start through heal_format by @overtrue in https://github.com/rustfs/rustfs/pull/2323
- test(filemeta): cover legacy delete marker fallback by @overtrue in https://github.com/rustfs/rustfs/pull/2322
- test(storage): cover write-offset pre-auth rejection by @overtrue in https://github.com/rustfs/rustfs/pull/2319
- test(s3): cover anonymous write-offset rejection by @overtrue in https://github.com/rustfs/rustfs/pull/2320
- test(admin): cover alias parsing edge cases by @overtrue in https://github.com/rustfs/rustfs/pull/2326
- fix: address correctness, safety, and concurrency issues by @houseme in https://github.com/rustfs/rustfs/pull/2327
- perf(capacity): tune default capacity settings, sync docs, and fix refresh/metrics correctness by @houseme in https://github.com/rustfs/rustfs/pull/2336
- build(deps): bump rustc-hash from 2.1.1 to 2.1.2 in the dependencies group by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2339
- fix: populate tagging notification principalId and object metadata by @houseme in https://github.com/rustfs/rustfs/pull/2342
- test(admin): cover heal alias routes by @overtrue in https://github.com/rustfs/rustfs/pull/2329
- test(ecstore): cover inline bitrot offset reads by @overtrue in https://github.com/rustfs/rustfs/pull/2337
- test(ecstore): cover read offset overflow by @overtrue in https://github.com/rustfs/rustfs/pull/2341
- test(admin): cover tier, bucket metadata, and kms aliases by @overtrue in https://github.com/rustfs/rustfs/pull/2334
- docs(agents): enforce constant reuse rules by @overtrue in https://github.com/rustfs/rustfs/pull/2348
- fix: change the condition for httproute by @majinghe in https://github.com/rustfs/rustfs/pull/2345
- feat(s3): support metadata extensions for bucket listings by @weisd in https://github.com/rustfs/rustfs/pull/2344
- feat: add extra env support for helm chart by @majinghe in https://github.com/rustfs/rustfs/pull/2340
- docs: add x-cmd and nix installation options by @lunrenyi in https://github.com/rustfs/rustfs/pull/2306
- feat(admin): complete site replication support by @weisd in https://github.com/rustfs/rustfs/pull/2346
- fix(lock): split distributed read and write quorum by @weisd in https://github.com/rustfs/rustfs/pull/2355
- fix(admin): reconcile site replication peer identity by @cxymds in https://github.com/rustfs/rustfs/pull/2356
- test(object): cover zero-copy selection heuristics by @overtrue in https://github.com/rustfs/rustfs/pull/2338
- test(admin): cover empty kms key aliases by @overtrue in https://github.com/rustfs/rustfs/pull/2331
- test(filemeta): cover legacy delete marker decoding by @overtrue in https://github.com/rustfs/rustfs/pull/2333
- ci: integrate CLA bot checks by @overtrue in https://github.com/rustfs/rustfs/pull/2367
- ci: use GitHub App tokens for CLA bot by @overtrue in https://github.com/rustfs/rustfs/pull/2368
- Modify CLA workflow permissions and cleanup by @overtrue in https://github.com/rustfs/rustfs/pull/2369
- docs: update AGENTS pre-commit policy by @overtrue in https://github.com/rustfs/rustfs/pull/2370
- fix(admin): percent-decode group name in DELETE /v3/group/{group} by @GatewayJ in https://github.com/rustfs/rustfs/pull/2358
- ci: bump cla-bot to v0.0.6 by @overtrue in https://github.com/rustfs/rustfs/pull/2375
- ci: bump cla-bot to v0.0.6 by @overtrue in https://github.com/rustfs/rustfs/pull/2377
- test: cover delete-group percent decoding by @overtrue in https://github.com/rustfs/rustfs/pull/2373
- fix: bump s3s for presigned checksum handling by @weisd in https://github.com/rustfs/rustfs/pull/2379
- fix(rio): preserve reader capabilities and crypto safety by @weisd in https://github.com/rustfs/rustfs/pull/2363
- ci: update CLA workflow for corrected comments by @overtrue in https://github.com/rustfs/rustfs/pull/2384
- fix(notify): emit delete webhooks for prefix deletes and align replication headers by @andybrown668 in https://github.com/rustfs/rustfs/pull/2383
- fix(build): enable tokio_unstable in build script by @xxkeming in https://github.com/rustfs/rustfs/pull/2376
- feat(iam): retry OIDC discovery with issuer URL slash variants by @GatewayJ in https://github.com/rustfs/rustfs/pull/2360
- fix(oidc): support case-insensitive claim name matching by @yelog in https://github.com/rustfs/rustfs/pull/2362
- perf(ecstore): batch delete object lock acquisition by @weisd in https://github.com/rustfs/rustfs/pull/2374
- docs: remind agents to clean build artifacts by @overtrue in https://github.com/rustfs/rustfs/pull/2387
- refactor(server): unify TLS loading, optimize HTTP transport, add hot reload by @houseme in https://github.com/rustfs/rustfs/pull/2388
- ci: bump cla-bot to v0.0.9 by @overtrue in https://github.com/rustfs/rustfs/pull/2389
- fix(auth): reject ambiguous case-insensitive claim matches by @overtrue in https://github.com/rustfs/rustfs/pull/2386
- feat(admin): add audit target APIs and harden target source handling by @houseme in https://github.com/rustfs/rustfs/pull/2350
- refactor(tracing): unify request-context propagation and fix tracing chain breaks by @houseme in https://github.com/rustfs/rustfs/pull/2394
- test(admin): cover audit target validation gaps by @overtrue in https://github.com/rustfs/rustfs/pull/2390
- fix(metrics): use Prometheus-compatible metric names (#2312) by @ankohuu in https://github.com/rustfs/rustfs/pull/2317
- test(metrics): cover Prometheus descriptor names by @overtrue in https://github.com/rustfs/rustfs/pull/2405
- build(deps): bump the dependencies group with 14 updates by @houseme in https://github.com/rustfs/rustfs/pull/2407
- test(server): cover request context layer propagation by @overtrue in https://github.com/rustfs/rustfs/pull/2398
- fix: limit pyroscope profiling to supported Unix targets by @ankohuu in https://github.com/rustfs/rustfs/pull/2399
- feat(storage): add direct chunk GET fast path by @houseme in https://github.com/rustfs/rustfs/pull/2351
- fix: skip missing groups in policy_db_get instead of aborting by @kharkevich in https://github.com/rustfs/rustfs/pull/2393
- fix: enforce multipart authorization checks by @overtrue in https://github.com/rustfs/rustfs/pull/2411
- fix(iam): keep service account JWT expiry consistent by @weisd in https://github.com/rustfs/rustfs/pull/2410
- fix: move ec configuration from configmap to extraEnv by @majinghe in https://github.com/rustfs/rustfs/pull/2408
- feat: add support for pvc customized annotations by @majinghe in https://github.com/rustfs/rustfs/pull/2412
- fix(scanner): continue scans after traversal errors by @weisd in https://github.com/rustfs/rustfs/pull/2414
- feat(mqtt): migrate client and harden TLS config by @houseme in https://github.com/rustfs/rustfs/pull/2413
- fix(download): preserve archive download integrity by @houseme in https://github.com/rustfs/rustfs/pull/2415
- chore: update s3s to 010ae03 by @weisd in https://github.com/rustfs/rustfs/pull/2418
- feat(ecstore): add stale multipart upload cleanup by @weisd in https://github.com/rustfs/rustfs/pull/2416
- feat(kms): add vault transit engine by @reatang in https://github.com/rustfs/rustfs/pull/2372
- feat: add timing and metrics for query execution phases by @houseme in https://github.com/rustfs/rustfs/pull/2419
- fixed: Update service status to Ready by @houseme in https://github.com/rustfs/rustfs/pull/2423
- refactor(storage): remove object cache plumbing by @houseme in https://github.com/rustfs/rustfs/pull/2422
- Fix remaining review follow-ups for #2361 by @overtrue in https://github.com/rustfs/rustfs/pull/2421
New Contributors
- @lunrenyi made their first contribution in https://github.com/rustfs/rustfs/pull/2306
- @andybrown668 made their first contribution in https://github.com/rustfs/rustfs/pull/2383
- @xxkeming made their first contribution in https://github.com/rustfs/rustfs/pull/2376
- @yelog made their first contribution in https://github.com/rustfs/rustfs/pull/2362
- @ankohuu made their first contribution in https://github.com/rustfs/rustfs/pull/2317
- @kharkevich made their first contribution in https://github.com/rustfs/rustfs/pull/2393
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.90...1.0.0-alpha.91
1.0.0-alpha.90Pre-releaseReleased on 3/24/2026
What's Changed
- feat: Add --info command and refactor config module by @houseme in https://github.com/rustfs/rustfs/pull/2234
- feat(metrics): migrate system monitoring from rustfs-obs to rustfs-metrics by @heihutu in https://github.com/rustfs/rustfs/pull/2242
- fix(admin): avoid tier stats panic on missing tier by @cxymds in https://github.com/rustfs/rustfs/pull/2238
- feat(info): add --json flag for JSON output and markdown table format by default by @houseme in https://github.com/rustfs/rustfs/pull/2245
- build(deps): bump the dependencies group with 4 updates by @houseme in https://github.com/rustfs/rustfs/pull/2243
- fix(tracing): Fix distributed tracing context linking by @houseme in https://github.com/rustfs/rustfs/pull/2247
- fix(admin): accept IAM service account exports by @weisd in https://github.com/rustfs/rustfs/pull/2249
- fix(admin): console self password for STS sessions (#1923) by @GatewayJ in https://github.com/rustfs/rustfs/pull/2250
- chore(deps): update flake.lock by @heihutu in https://github.com/rustfs/rustfs/pull/2253
- fix(ecstore): invalidate xl.meta cache after writes and rename by @weisd in https://github.com/rustfs/rustfs/pull/2255
- fix(madmin): handle blank service-account expiration by @overtrue in https://github.com/rustfs/rustfs/pull/2254
- build(deps): bump the dependencies group with 3 updates by @heihutu in https://github.com/rustfs/rustfs/pull/2257
- fix(object): Fix concurrent request hang issue in S3 range read workloads by @houseme in https://github.com/rustfs/rustfs/pull/2251
- fix(ecstore): preserve raw metadata read semantics by @weisd in https://github.com/rustfs/rustfs/pull/2258
- fix(ecstore): repair lifecycle transition and restore flows by @cxymds in https://github.com/rustfs/rustfs/pull/2240
- perf(storage): optimize internode RPC transfer path by @weisd in https://github.com/rustfs/rustfs/pull/2262
- fix(admin): decode compat payload in set-remote-target by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/2216
- build(deps): bump the dependencies group with 3 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2259
- build(deps): bump zip from 8.3.1 to 8.4.0 in the dependencies group by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2270
- refactor(docker): image grafana/tempo:2.10.3 by @heihutu in https://github.com/rustfs/rustfs/pull/2273
- fix(Helm): Remove duplicate imagePullSecrets block by @polds in https://github.com/rustfs/rustfs/pull/2260
- fix: CVE-2026-22184 fix in docker image by @majinghe in https://github.com/rustfs/rustfs/pull/2276
- feat(admin): add persisted OIDC config APIs by @cxymds in https://github.com/rustfs/rustfs/pull/2267
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.89...1.0.0-alpha.90
1.0.0-alpha.89Pre-releaseReleased on 3/19/2026
What's Changed
- fix(ecstore): keep bucket created time when metadata is epoch by @weisd in https://github.com/rustfs/rustfs/pull/2220
- fix: support legacy bucket metadata decoding by @weisd in https://github.com/rustfs/rustfs/pull/2227
- fix(iam): preserve trailing slash in OIDC issuer URL by @TrentHouliston in https://github.com/rustfs/rustfs/pull/2228
New Contributors
- @TrentHouliston made their first contribution in https://github.com/rustfs/rustfs/pull/2228
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.88...1.0.0-alpha.89
RustFS 1.0.0-alpha.88 (alpha)Pre-releaseReleased on 3/18/2026
fix(ecstore): support legacy pool meta decoding (#2218)
Co-authored-by: momoda693 momoda693@gmail.com
1.0.0-alpha.87Pre-releaseReleased on 3/18/2026
What's Changed
- chore: update nix-flake-update.yml to use FLAKE_UPDATE_TOKEN for user… by @houseme in https://github.com/rustfs/rustfs/pull/2168
- chore(deps): update flake.lock by @heihutu in https://github.com/rustfs/rustfs/pull/2169
- feat(ci): allow selecting build platforms in build workflow by @overtrue in https://github.com/rustfs/rustfs/pull/2171
- chore(deps): update flake.lock by @heihutu in https://github.com/rustfs/rustfs/pull/2173
- feat(obs): add init_obs_with_config API and signature guard test by @houseme in https://github.com/rustfs/rustfs/pull/2175
- build(deps): bump lz4_flex from 0.12.0 to 0.12.1 by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2181
- fix(lifecycle): respect Filter.Prefix and safe delete marker expiry by @cxymds in https://github.com/rustfs/rustfs/pull/2185
- chore(skills): add repository-local workflow skills by @overtrue in https://github.com/rustfs/rustfs/pull/2190
- fix(notify): Fix XML Filter parsing and add comprehensive tests by @houseme in https://github.com/rustfs/rustfs/pull/2191
- fix(targets): pass credentials to MQTT broker availability check by @houseme in https://github.com/rustfs/rustfs/pull/2192
- build(deps): bump astral-tokio-tar from 0.5.6 to 0.6.0 by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2196
- feat(rustfs): add optional license gating feature by @overtrue in https://github.com/rustfs/rustfs/pull/2197
- fix(ecstore): handle EODM rules without due date by @overtrue in https://github.com/rustfs/rustfs/pull/2198
- test(lifecycle): add prefix regression and zero-day checks by @cxymds in https://github.com/rustfs/rustfs/pull/2201
- fix(admin): avoid unbounded metrics sampling by default by @cxymds in https://github.com/rustfs/rustfs/pull/2203
- feat: improve legacy metadata and admin compatibility by @weisd in https://github.com/rustfs/rustfs/pull/2202
- fix(ci): revert docker alpha latest tag by @overtrue in https://github.com/rustfs/rustfs/pull/2209
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.86...1.0.0-alpha.87
1.0.0-alpha.86Pre-releaseReleased on 3/15/2026
What's Changed
- feat(obs): Optional continuous CPU profiling with grafana pyroscope by @evanofslack in https://github.com/rustfs/rustfs/pull/2035
- build(obs): restrict pyroscope dependency to unix targets by @houseme in https://github.com/rustfs/rustfs/pull/2064
- ci: optimize workflow runtime and remove redundant pipeline work by @overtrue in https://github.com/rustfs/rustfs/pull/2065
- build(deps): bump the dependencies group with 7 updates by @houseme in https://github.com/rustfs/rustfs/pull/2069
- update s3s 0.14.0-dev by @reatang in https://github.com/rustfs/rustfs/pull/2070
- chore: update dependencies and workspace resolver by @houseme in https://github.com/rustfs/rustfs/pull/2073
- Fix data usage cache and scanner by @weisd in https://github.com/rustfs/rustfs/pull/2074
- fix(admin): allow non-consoleAdmin self password update by @overtrue in https://github.com/rustfs/rustfs/pull/2082
- fix(heal):heal failed replication via must_replicate instead of check replicate_delete by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/2072
- docs: scope AGENTS instructions by directory by @overtrue in https://github.com/rustfs/rustfs/pull/2083
- chore(obs): Improve tracing instrumentation by @evanofslack in https://github.com/rustfs/rustfs/pull/2086
- fix(obs): Remove high cardinality label on rustfs_api_requests_total by @evanofslack in https://github.com/rustfs/rustfs/pull/2087
- Add OpenStack Swift API Support by @senolcolak in https://github.com/rustfs/rustfs/pull/2066
- feat(obs): Add metric to count all s3 operations by @evanofslack in https://github.com/rustfs/rustfs/pull/2088
- chore(deps): update flake.lock by @github-actions[bot] in https://github.com/rustfs/rustfs/pull/2097
- fix(metrics): Remove high cardinality labels causing memory leak by @hamiltop in https://github.com/rustfs/rustfs/pull/2098
- refactor(protocols): replace tar with astral-tokio-tar for async processing by @houseme in https://github.com/rustfs/rustfs/pull/2099
- feat(storage): integrate S3Operation into OperationHelper for unified metrics and audit by @houseme in https://github.com/rustfs/rustfs/pull/2103
- fix(iam): sync user cache on load-user notifications by @overtrue in https://github.com/rustfs/rustfs/pull/2104
- build(deps): bump libc from 0.2.182 to 0.2.183 in the dependencies group by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2106
- feat:add docker image support for quay.io and ghcr.io by @majinghe in https://github.com/rustfs/rustfs/pull/2107
- fix: allow root to bypass bucket policy deny for policy management APIs by @GatewayJ in https://github.com/rustfs/rustfs/pull/2102
- change ghcr username and password name due to github restrict by @majinghe in https://github.com/rustfs/rustfs/pull/2108
- feat: add metrics support in helm chart by @majinghe in https://github.com/rustfs/rustfs/pull/2109
- feat(scanner): Add dynamic throttling presets by @evanofslack in https://github.com/rustfs/rustfs/pull/2095
- fix(server): init event notifier when partial notify configured by @overtrue in https://github.com/rustfs/rustfs/pull/2125
- fix(notify): ignore disabled targets when sending events by @overtrue in https://github.com/rustfs/rustfs/pull/2117
- fix(obs): avoid panic in telemetry init and clamp sampler boundaries by @overtrue in https://github.com/rustfs/rustfs/pull/2118
- build(deps): bump quinn-proto from 0.11.13 to 0.11.14 by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2127
- fix: resolve silent failure in MQTT bucket event notifications by @simon-escapecode in https://github.com/rustfs/rustfs/pull/2112
- feat(perf): Add configurable bitrot skip for reads by @evanofslack in https://github.com/rustfs/rustfs/pull/2110
- fix(protocols): return errors instead of panics for sync signatures by @overtrue in https://github.com/rustfs/rustfs/pull/2120
- fix(utils): harden panic-prone paths by @overtrue in https://github.com/rustfs/rustfs/pull/2113
- fix(credentials): harden masked debug output by @overtrue in https://github.com/rustfs/rustfs/pull/2114
- fix(common): remove panic paths in runtime helpers by @overtrue in https://github.com/rustfs/rustfs/pull/2116
- [codex] fix scanner first cycle startup delay by @overtrue in https://github.com/rustfs/rustfs/pull/2137
- fix(policy): avoid unicode panic in variable resolver by @overtrue in https://github.com/rustfs/rustfs/pull/2115
- fix(scanner): respect configured scan start delay by @overtrue in https://github.com/rustfs/rustfs/pull/2119
- fix(signer): avoid panics in v2 signing for missing data by @overtrue in https://github.com/rustfs/rustfs/pull/2121
- fix(workers): clamp worker release count by @overtrue in https://github.com/rustfs/rustfs/pull/2122
- fix(auth): preserve IAMAuth clone and correct missing-key error by @overtrue in https://github.com/rustfs/rustfs/pull/2123
- refactor(config): normalize scanner env naming by @overtrue in https://github.com/rustfs/rustfs/pull/2129
- fix(admin): propagate heal handler background errors by @overtrue in https://github.com/rustfs/rustfs/pull/2124
- fix(helm): use canonical scanner start delay env by @overtrue in https://github.com/rustfs/rustfs/pull/2142
- fix(ecstore): avoid warm tier init panics by @overtrue in https://github.com/rustfs/rustfs/pull/2144
- feat(ecstore): Skip rustls provider install if already present by @houseme in https://github.com/rustfs/rustfs/pull/2145
- refactor(obs): optimize logging with custom RollingAppender and improved cleanup by @houseme in https://github.com/rustfs/rustfs/pull/2151
- refactor(obs): enhance log rotation robustness and refine filter logic by @houseme in https://github.com/rustfs/rustfs/pull/2155
- docs: fix incorrect UID in Docker Quick Start of README_ZH by @bcdax110 in https://github.com/rustfs/rustfs/pull/2149
- fix(obs): honor target-only rust_log directives by @overtrue in https://github.com/rustfs/rustfs/pull/2159
- feat: add support for obs enpoint support in helm chart by @majinghe in https://github.com/rustfs/rustfs/pull/2160
- fix: fix github action error caused by oltp modification by @majinghe in https://github.com/rustfs/rustfs/pull/2163
- feat(webdav): add WebDAV protocol gateway by @yxrxy in https://github.com/rustfs/rustfs/pull/2158
- fix(obs): fixed unresolved import by @houseme in https://github.com/rustfs/rustfs/pull/2164
super::local::ensure_dir_permissions - feat(replication): add bandwidth-aware reporting for bucket replication metrics by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/2141
- fix(helm): merge customAnnotations with class-specific ingress annotations by @PhilipSchmid in https://github.com/rustfs/rustfs/pull/2161
- fix(helm): quote obs stdout configmap value by @overtrue in https://github.com/rustfs/rustfs/pull/2166
- chore(deps): update flake.lock by @github-actions[bot] in https://github.com/rustfs/rustfs/pull/2165
New Contributors
- @hamiltop made their first contribution in https://github.com/rustfs/rustfs/pull/2098
- @simon-escapecode made their first contribution in https://github.com/rustfs/rustfs/pull/2112
- @bcdax110 made their first contribution in https://github.com/rustfs/rustfs/pull/2149
- @PhilipSchmid made their first contribution in https://github.com/rustfs/rustfs/pull/2161
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.85...1.0.0-alpha.86
1.0.0-alpha.85Pre-releaseReleased on 3/2/2026
What's Changed
- feat(s3): return 409 BucketAlreadyExists when non-owner creates existing bucket by @overtrue in https://github.com/rustfs/rustfs/pull/2034
- fix(s3): allow anonymous access when PublicAccessBlock config is miss… by @GatewayJ in https://github.com/rustfs/rustfs/pull/2039
- build(deps): bump datafusion from 52.1.0 to 52.2.0 in the dependencies group by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/2037
- fix(ecstore): add etag fallback when mod_time unavailable in metadata by @weisd in https://github.com/rustfs/rustfs/pull/2042
- fix(iam): user group policy and delete group (fixes #2028) by @GatewayJ in https://github.com/rustfs/rustfs/pull/2043
- Add env variable alias compatibility warnings by @overtrue in https://github.com/rustfs/rustfs/pull/2044
- fix: support query-only presigned URL access by @overtrue in https://github.com/rustfs/rustfs/pull/2046
- refactor(obs): enhance log cleanup and rotation by @houseme in https://github.com/rustfs/rustfs/pull/2040
- fix(iam): remove incorrect trailing slash from OIDC issuer URL by @RafaelHerrero in https://github.com/rustfs/rustfs/pull/2050
- remove rustflags target cpu by @houseme in https://github.com/rustfs/rustfs/pull/2052
- fix(sse): allow PUT/GET without KMS when no SSE or bucket default by @reatang in https://github.com/rustfs/rustfs/pull/2054
- fix sse-options by @reatang in https://github.com/rustfs/rustfs/pull/2056
- fix: restore default CORS fallback and STS object ACL ownership by @overtrue in https://github.com/rustfs/rustfs/pull/2053
New Contributors
- @RafaelHerrero made their first contribution in https://github.com/rustfs/rustfs/pull/2050
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.84...1.0.0-alpha.85
1.0.0-alpha.84Pre-releaseReleased on 3/1/2026
What's Changed
- refactor(admin): extract health check handler module by @overtrue in https://github.com/rustfs/rustfs/pull/1777
- tool(agents): AGENTS.md instructs to respond in english, not chinese by @evanofslack in https://github.com/rustfs/rustfs/pull/1775
- refactor(admin): split remaining handlers into modules by @overtrue in https://github.com/rustfs/rustfs/pull/1782
- refactor(admin): modularize handlers and route registration by @overtrue in https://github.com/rustfs/rustfs/pull/1787
- refactor(admin): move route registration into handler modules by @overtrue in https://github.com/rustfs/rustfs/pull/1789
- refactor(admin): move accountinfo route registration by @overtrue in https://github.com/rustfs/rustfs/pull/1790
- fix: restore s3 compatibility regressions and CI coverage by @overtrue in https://github.com/rustfs/rustfs/pull/1793
- refactor(admin): extract user IAM route registration by @overtrue in https://github.com/rustfs/rustfs/pull/1794
- refactor(admin): extract user lifecycle route registration by @overtrue in https://github.com/rustfs/rustfs/pull/1795
- refactor(admin): extract user policy binding route registration by @overtrue in https://github.com/rustfs/rustfs/pull/1796
- refactor(admin): move kms dynamic route registration by @overtrue in https://github.com/rustfs/rustfs/pull/1798
- refactor(admin): move kms key route registration by @overtrue in https://github.com/rustfs/rustfs/pull/1799
- refactor(admin): extract kms management route registration by @overtrue in https://github.com/rustfs/rustfs/pull/1801
- fix: improve IAM and quota authorization by @yxrxy in https://github.com/rustfs/rustfs/pull/1781
- fix(helm): add {{ .Release.Namespace }} for kustomize v5.8 compat, closes #1808 by @shadow1runner in https://github.com/rustfs/rustfs/pull/1809
- refactor(storage): add s3_api facade and extract read helper by @overtrue in https://github.com/rustfs/rustfs/pull/1803
- fix(iam): STS parent groups fallback and session policy debug for #1423 by @GatewayJ in https://github.com/rustfs/rustfs/pull/1804
- refactor(storage): extract list_objects v1 response builder by @overtrue in https://github.com/rustfs/rustfs/pull/1810
- refactor(storage): extract ListObjectsV2 response assembly helper by @overtrue in https://github.com/rustfs/rustfs/pull/1811
- refactor(storage): extract ListParts response assembly helper by @overtrue in https://github.com/rustfs/rustfs/pull/1812
- refactor(storage): extract ListMultipartUploads response builder by @overtrue in https://github.com/rustfs/rustfs/pull/1815
- refactor(storage): extract list_parts parameter parsing by @overtrue in https://github.com/rustfs/rustfs/pull/1816
- refactor(storage): centralize S3 response/error helpers by @overtrue in https://github.com/rustfs/rustfs/pull/1818
- feat(observability): Add additional metric panels to grafana dashboard by @evanofslack in https://github.com/rustfs/rustfs/pull/1778
- build(deps): bump the dependencies group with 16 updates by @houseme in https://github.com/rustfs/rustfs/pull/1820
- ci: optimize and translate nix workflow by @houseme in https://github.com/rustfs/rustfs/pull/1821
- ci(Flake): optimize nix-flake-update workflow by @houseme in https://github.com/rustfs/rustfs/pull/1827
- fix(admin): return 503 when health deps are not ready by @yash27-lab in https://github.com/rustfs/rustfs/pull/1824
- refactor(storage): extract multipart list param parser by @overtrue in https://github.com/rustfs/rustfs/pull/1817
- refactor(storage): extract list object versions helpers by @overtrue in https://github.com/rustfs/rustfs/pull/1830
- refactor(storage): extract ListObjectsV2 parameter parsing by @overtrue in https://github.com/rustfs/rustfs/pull/1831
- refactor(storage): use named params for ListObjectVersions by @overtrue in https://github.com/rustfs/rustfs/pull/1832
- logging(disks): Propogate storage disk init error, improve logging by @evanofslack in https://github.com/rustfs/rustfs/pull/1825
- feat: add existing pvc claim for standalone by @majinghe in https://github.com/rustfs/rustfs/pull/1829
- fix: gateway api listener name hardcode issue by @majinghe in https://github.com/rustfs/rustfs/pull/1834
- feat(config): allow specifying keys via files (key files) by @JasmineLowen in https://github.com/rustfs/rustfs/pull/1814
- chore(deps): update flake.lock by @heihutu in https://github.com/rustfs/rustfs/pull/1835
- chore(deps): bump zip from 7.4.0 to 8.0.0 by @houseme in https://github.com/rustfs/rustfs/pull/1837
- chore(nix): update flake lock & fix devshell+package by @JasmineLowen in https://github.com/rustfs/rustfs/pull/1805
- metrics(scanner): Add metrics to scanner by @evanofslack in https://github.com/rustfs/rustfs/pull/1823
- fix(compress): downgrade non-compressible log level and expand excluded file types by @reatang in https://github.com/rustfs/rustfs/pull/1780
- build(deps): bump the dependencies group with 5 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1845
- refactor(storage): use named params for multipart list APIs by @overtrue in https://github.com/rustfs/rustfs/pull/1833
- perf(read): Remove unecessary allocation in read_xl_meta_no_data by @evanofslack in https://github.com/rustfs/rustfs/pull/1846
- fix: remove duplicate common prefixes for slash delimiter (#1797) by @loverustfs in https://github.com/rustfs/rustfs/pull/1841
- obs(export): Add env vars to selectivly disable exporting traces/metrics/logs by @evanofslack in https://github.com/rustfs/rustfs/pull/1853
- perf(metrics): Cache metric handles instead of creating each call by @evanofslack in https://github.com/rustfs/rustfs/pull/1852
- perf(obs): optimize metrics recorder and telemetry initialization by @houseme in https://github.com/rustfs/rustfs/pull/1859
- fix(helm): apply traefikAnnotations and gate TLS secret on certManager.enabled by @Rohmilchkaese in https://github.com/rustfs/rustfs/pull/1864
- Increase ACCESS_KEY_MAX_LEN to 128 by @micafer in https://github.com/rustfs/rustfs/pull/1870
- fix:correctly handle replicate delete by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1850
- refactor(storage): extract ListBuckets response assembly by @overtrue in https://github.com/rustfs/rustfs/pull/1879
- refactor(storage): extract ACL response builders into s3_api by @overtrue in https://github.com/rustfs/rustfs/pull/1880
- Feature/deployment probe override by @capitansec in https://github.com/rustfs/rustfs/pull/1876
- fix: remove deprecated darwin.apple_sdk references from flake.nix by @etak64n in https://github.com/rustfs/rustfs/pull/1884
- fix: uncompress -> compress by @cuiweixie in https://github.com/rustfs/rustfs/pull/1855
- fix(ecstore): invalidate GlobalFileCache after write_all_private to fix DeleteMarker visibility by @loverustfs in https://github.com/rustfs/rustfs/pull/1890
- Fix/x86 64 compat drop target cpu native by @loverustfs in https://github.com/rustfs/rustfs/pull/1895
- fix(replication): replicate delete all versions to targets by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1898
- fix(startup): Only monitor disk health after format loading by @evanofslack in https://github.com/rustfs/rustfs/pull/1854
- chore(deps): update flake.lock by @github-actions[bot] in https://github.com/rustfs/rustfs/pull/1905
- refactor(storage): extract tagging helpers from ecfs by @overtrue in https://github.com/rustfs/rustfs/pull/1881
- refactor(storage): extract object-lock response builders from ecfs by @overtrue in https://github.com/rustfs/rustfs/pull/1906
- refactor(app): add application layer module entry by @overtrue in https://github.com/rustfs/rustfs/pull/1907
- refactor(app): add AppContext skeleton wiring by @overtrue in https://github.com/rustfs/rustfs/pull/1909
- refactor(app): route put/get/listv2 through usecases by @overtrue in https://github.com/rustfs/rustfs/pull/1910
- refactor(app): migrate copy/delete/head object flows by @overtrue in https://github.com/rustfs/rustfs/pull/1911
- refactor(app): migrate create/delete/head bucket flows by @overtrue in https://github.com/rustfs/rustfs/pull/1913
- refactor(app): migrate bucket sub-operation flows by @overtrue in https://github.com/rustfs/rustfs/pull/1914
- refactor: migrate multipart orchestration to usecase by @overtrue in https://github.com/rustfs/rustfs/pull/1915
- refactor(app): migrate restore/select and admin info orchestration by @overtrue in https://github.com/rustfs/rustfs/pull/1917
- build(deps): bump the dependencies group with 15 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1912
- refactor(app): migrate bucket config flows to usecase by @overtrue in https://github.com/rustfs/rustfs/pull/1919
- refactor(app): migrate object ACL/tagging flows to usecase by @overtrue in https://github.com/rustfs/rustfs/pull/1921
- refactor(app): migrate object lock and attributes flows to usecase by @overtrue in https://github.com/rustfs/rustfs/pull/1922
- refactor(app): migrate bucket ACL/location/list-buckets orchestration by @overtrue in https://github.com/rustfs/rustfs/pull/1924
- fix: policy-action-1903 by @cxymds in https://github.com/rustfs/rustfs/pull/1927
- test: add regression coverage for access action mapping by @overtrue in https://github.com/rustfs/rustfs/pull/1928
- feat(admin): implement handler for delete group by @black-dragon74 in https://github.com/rustfs/rustfs/pull/1901
- feat(replication):add replication bandwidth throttle monitor and reader by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1885
- feat(s3select): add JSON handling and flattening for EcObjectStore by @0xdx2 in https://github.com/rustfs/rustfs/pull/1930
- refactor(app): migrate multipart list and copy-part orchestration by @overtrue in https://github.com/rustfs/rustfs/pull/1932
- refactor(app): migrate delete-objects and listing orchestration by @overtrue in https://github.com/rustfs/rustfs/pull/1933
- rustfs#1916 Allow existing secrets to be used for tls certs in ingress by @mkrueger92 in https://github.com/rustfs/rustfs/pull/1918
- fix(ftps): Fix basename extraction and implement recursive delete by @yxrxy in https://github.com/rustfs/rustfs/pull/1920
- [codex] Refactor P1-07: slim KMS handler ownership by @overtrue in https://github.com/rustfs/rustfs/pull/1935
- test(admin): cover kms list-keys route registration by @overtrue in https://github.com/rustfs/rustfs/pull/1936
- refactor(storage): extract remaining s3_api response builders by @overtrue in https://github.com/rustfs/rustfs/pull/1937
- refactor(ecstore): split store_api into focused modules by @overtrue in https://github.com/rustfs/rustfs/pull/1938
- refactor(storage): split tonic_service into rpc modules by @overtrue in https://github.com/rustfs/rustfs/pull/1939
- refactor(ecstore): split store.rs into store submodules by @overtrue in https://github.com/rustfs/rustfs/pull/1942
- refactor(ecstore): split set_disk.rs into submodules by @overtrue in https://github.com/rustfs/rustfs/pull/1945
- refactor(filemeta): split filemeta into focused submodules by @overtrue in https://github.com/rustfs/rustfs/pull/1946
- refactor(app): add iam and notify interface boundaries by @overtrue in https://github.com/rustfs/rustfs/pull/1948
- feat: admin permission check by @GatewayJ in https://github.com/rustfs/rustfs/pull/1783
- fix: restore SSE baseline on latest main by @overtrue in https://github.com/rustfs/rustfs/pull/1951
- refactor(app): route metadata/endpoints access through AppContext by @overtrue in https://github.com/rustfs/rustfs/pull/1949
- fix: add liveness and readiness probe by @majinghe in https://github.com/rustfs/rustfs/pull/1953
- refactor(app): route admin/object globals through AppContext by @overtrue in https://github.com/rustfs/rustfs/pull/1954
- build(deps): bump the dependencies group with 4 updates by @houseme in https://github.com/rustfs/rustfs/pull/1955
- refactor(app): remove multipart metadata global fallback by @overtrue in https://github.com/rustfs/rustfs/pull/1957
- refactor(app): converge lower-priority global reads via AppContext by @overtrue in https://github.com/rustfs/rustfs/pull/1958
- refactor(admin): route tier config manager through AppContext by @overtrue in https://github.com/rustfs/rustfs/pull/1959
- refactor(server): route config access through AppContext by @overtrue in https://github.com/rustfs/rustfs/pull/1960
- refactor(storage): converge put-object quota metadata context by @overtrue in https://github.com/rustfs/rustfs/pull/1963
- refactor(app): route buffer config through AppContext by @overtrue in https://github.com/rustfs/rustfs/pull/1964
- refactor(admin): route kms handlers via app context by @overtrue in https://github.com/rustfs/rustfs/pull/1965
- fix(typo): change dang_ling to dangling by @evanofslack in https://github.com/rustfs/rustfs/pull/1968
- refactor(admin): route kms handlers through app context by @overtrue in https://github.com/rustfs/rustfs/pull/1967
- feat(iam): add OpenID Connect SSO with claim-based policy resolution by @jpoegs in https://github.com/rustfs/rustfs/pull/1875
- fix(iam): address PR 1875 review issues for OIDC STS flows by @overtrue in https://github.com/rustfs/rustfs/pull/1969
- refactor(app): decouple AppContext adapters from GLOBAL statics by @overtrue in https://github.com/rustfs/rustfs/pull/1970
- refactor(admin): move KMS management handlers by @overtrue in https://github.com/rustfs/rustfs/pull/1971
- refactor(rpc): use node name accessor in health handlers by @overtrue in https://github.com/rustfs/rustfs/pull/1972
- refactor(app): centralize context resolvers for admin/server paths by @overtrue in https://github.com/rustfs/rustfs/pull/1975
- refactor(ci): add layered dependency guard baseline by @overtrue in https://github.com/rustfs/rustfs/pull/1977
- refactor(app): remove remaining global access in main init by @overtrue in https://github.com/rustfs/rustfs/pull/1978
- refactor(app): complete phase 5 gate and equivalence guards by @overtrue in https://github.com/rustfs/rustfs/pull/1979
- build: update docker config and refine s3s region handling by @heihutu in https://github.com/rustfs/rustfs/pull/1976
- refactor region parsing by @heihutu in https://github.com/rustfs/rustfs/pull/1981
- fix(replication): handle TLS CA trust and force-delete replication edge cases by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1983
- refactor(app): remove dead objects/ code and migrate put_object_extract to usecase layer by @overtrue in https://github.com/rustfs/rustfs/pull/1980
- fix(ecstore): adjust unformatted disk error mapping by @weisd in https://github.com/rustfs/rustfs/pull/1988
- chore(heal): remove unused global response broadcast by @weisd in https://github.com/rustfs/rustfs/pull/1991
- feat(config): refine defaults and improve region handling by @houseme in https://github.com/rustfs/rustfs/pull/1990
- refactor: stabilize heal format recovery integration tests by @overtrue in https://github.com/rustfs/rustfs/pull/1984
- fix(dashboard): Rename grafana dashboard rustfs.yaml -> rustfs.json by @evanofslack in https://github.com/rustfs/rustfs/pull/1987
- feat(targets): enhance webhook TLS support with custom CA and skip-verify by @houseme in https://github.com/rustfs/rustfs/pull/1994
- Openstack Keystone integration - v1 keeps the same mechanism as by @senolcolak in https://github.com/rustfs/rustfs/pull/1961
- feat: policy add object tag by @GatewayJ in https://github.com/rustfs/rustfs/pull/1908
- fix(scanner): skip recent IO-error objects by @LoganZ2 in https://github.com/rustfs/rustfs/pull/1860
- perf(lock): Use global lock manager, instead of one per request by @evanofslack in https://github.com/rustfs/rustfs/pull/1848
- fix(ecstore): allow trailing slash in object names to match S3 behavior by @brayanjuls in https://github.com/rustfs/rustfs/pull/1996
- refactor: improve code quality with safer error handling, trait decomposition, and dead code cleanup by @overtrue in https://github.com/rustfs/rustfs/pull/1997
- fix(s3): return proper HTTP 400 for SSE-C validation errors by @overtrue in https://github.com/rustfs/rustfs/pull/1998
- build(deps): bump the dependencies group with 4 updates by @houseme in https://github.com/rustfs/rustfs/pull/2001
- fix(s3): normalize GetObjectAttributes ETag XML response by @overtrue in https://github.com/rustfs/rustfs/pull/2002
- fix(ecstore): set expiration header for put object via lifecycle prediction by @overtrue in https://github.com/rustfs/rustfs/pull/2003
- Update logo image link in README.md by @overtrue in https://github.com/rustfs/rustfs/pull/2004
- Fix: validate SSE headers in object read/write paths by @overtrue in https://github.com/rustfs/rustfs/pull/2005
- fix: avoid region fallback panic paths by @overtrue in https://github.com/rustfs/rustfs/pull/2006
- fix(s3): reject SSE-C with partial headers per S3 spec by @overtrue in https://github.com/rustfs/rustfs/pull/2007
- fix(s3): reject invalid SSE algorithm (aes:kms) in PutObject by @overtrue in https://github.com/rustfs/rustfs/pull/2008
- fix: implement handling for "aws-chunked" Content-Encoding by @reatang in https://github.com/rustfs/rustfs/pull/2009
- chore(s3-tests): promote 42 passing tests to implemented list by @overtrue in https://github.com/rustfs/rustfs/pull/2011
- fix(s3): improve S3 API compatibility for versioning, SSE, and policy by @overtrue in https://github.com/rustfs/rustfs/pull/2013
- fix(obs): Update observability docker compose stack by @evanofslack in https://github.com/rustfs/rustfs/pull/2010
- fix: policy StringNotEquals double negation and delete_objects version mapping by @overtrue in https://github.com/rustfs/rustfs/pull/2015
- feat(obs): add advanced log management configuration by @heihutu in https://github.com/rustfs/rustfs/pull/2016
- feat(policy): add Service principal, ArnLike/IfExists conditions, and logging error ordering by @overtrue in https://github.com/rustfs/rustfs/pull/2018
- build(deps): bump the dependencies group with 2 updates by @heihutu in https://github.com/rustfs/rustfs/pull/2017
- fix(policy): address review feedback from #2018 by @overtrue in https://github.com/rustfs/rustfs/pull/2021
- chore(deps): update flake.lock by @github-actions[bot] in https://github.com/rustfs/rustfs/pull/2020
- test(s3): promote 145 passing tests to implemented list by @overtrue in https://github.com/rustfs/rustfs/pull/2023
- Bump Helm Chart version to 0.0.83 and appVersion to 1.0.0-alpha.83 by @smiggiddy in https://github.com/rustfs/rustfs/pull/2019
- fix(s3): allow Object Lock on versioned buckets and reject invalid checksums by @overtrue in https://github.com/rustfs/rustfs/pull/2024
- fix(s3): implement S3-compliant CORS and bucket existence checks by @overtrue in https://github.com/rustfs/rustfs/pull/2026
- fix(s3): return InvalidRange when CopySourceRange exceeds source object size by @overtrue in https://github.com/rustfs/rustfs/pull/2029
- fix(s3): add x-amz-grant-* headers to policy condition values by @overtrue in https://github.com/rustfs/rustfs/pull/2031
- Optimize log cleanup and rotation, update dependencies by @houseme in https://github.com/rustfs/rustfs/pull/2032
- feat(s3): enforce RestrictPublicBuckets for anonymous access by @overtrue in https://github.com/rustfs/rustfs/pull/2033
New Contributors
- @shadow1runner made their first contribution in https://github.com/rustfs/rustfs/pull/1809
- @yash27-lab made their first contribution in https://github.com/rustfs/rustfs/pull/1824
- @JasmineLowen made their first contribution in https://github.com/rustfs/rustfs/pull/1814
- @Rohmilchkaese made their first contribution in https://github.com/rustfs/rustfs/pull/1864
- @micafer made their first contribution in https://github.com/rustfs/rustfs/pull/1870
- @capitansec made their first contribution in https://github.com/rustfs/rustfs/pull/1876
- @etak64n made their first contribution in https://github.com/rustfs/rustfs/pull/1884
- @cuiweixie made their first contribution in https://github.com/rustfs/rustfs/pull/1855
- @github-actions[bot] made their first contribution in https://github.com/rustfs/rustfs/pull/1905
- @cxymds made their first contribution in https://github.com/rustfs/rustfs/pull/1927
- @black-dragon74 made their first contribution in https://github.com/rustfs/rustfs/pull/1901
- @jpoegs made their first contribution in https://github.com/rustfs/rustfs/pull/1875
- @senolcolak made their first contribution in https://github.com/rustfs/rustfs/pull/1961
- @brayanjuls made their first contribution in https://github.com/rustfs/rustfs/pull/1996
- @smiggiddy made their first contribution in https://github.com/rustfs/rustfs/pull/2019
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.83...1.0.0-alpha.84
1.0.0-alpha.83Pre-releaseReleased on 2/11/2026
What's Changed
- feat(profiling): support cross-platform memory profiling with mimalloc and pprof by @houseme in https://github.com/rustfs/rustfs/pull/1674
- fix: init container security hardened for operation permission error by @majinghe in https://github.com/rustfs/rustfs/pull/1680
- fix: add gatewayApi.enabled check to TraefikService template by @moechs in https://github.com/rustfs/rustfs/pull/1679
- fix(lifecycle): lifecycle fixes by @likewu in https://github.com/rustfs/rustfs/pull/1625
- fix(pprof): Fixed the problem that crate does not support the window platform by @houseme in https://github.com/rustfs/rustfs/pull/1681
pprof - Revert "fix: resolve Issue #1465 - IAM credential change crash (#1535)" by @yxrxy in https://github.com/rustfs/rustfs/pull/1685
- Fix/correctly handle terraform s3 backend with versioned bucket by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1686
- fix: Fixed that returns normal value by @houseme in https://github.com/rustfs/rustfs/pull/1695
account_id - Refactor trusted-proxies: modernize utils, improve safety, and fix clippy lints by @houseme in https://github.com/rustfs/rustfs/pull/1693
- feat: add obs log rotations environment variables by @majinghe in https://github.com/rustfs/rustfs/pull/1702
- fix: object lock compliance mode allows deletion by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1687
- feat: add glibc based docker image support by @majinghe in https://github.com/rustfs/rustfs/pull/1705
- build(deps): bump bytes from 1.11.0 to 1.11.1 by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1711
- fix: return null versionId when suspended (#1066) by @loverustfs in https://github.com/rustfs/rustfs/pull/1709
- fix: replication delete by @weisd in https://github.com/rustfs/rustfs/pull/1714
- Refactor: refactor SSE layer and KMS subsystem by @reatang in https://github.com/rustfs/rustfs/pull/1703
- enhancement: add support for http to https redirect for traefik gatew… by @majinghe in https://github.com/rustfs/rustfs/pull/1712
- Fix/fix issues #1564 by @houseme in https://github.com/rustfs/rustfs/pull/1708
- fix: bucket policy id field serde by @GatewayJ in https://github.com/rustfs/rustfs/pull/1726
- feat: add contour as ingress controller with http proxy by @majinghe in https://github.com/rustfs/rustfs/pull/1729
- fix: fetch_owner set to true when calling list_objects_v2 in the list_objects function by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1730
- test(e2e_test): add automated cluster environment for conditional PUT race test by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1673
- feat: migrate FTP/SFTP to protocols crate and update dependencies by @yxrxy in https://github.com/rustfs/rustfs/pull/1580
- Propogate tracing context from HTTP requests into spans by @StratusFearMe21 in https://github.com/rustfs/rustfs/pull/1739
- build(deps): bump the dependencies group with 19 updates by @houseme in https://github.com/rustfs/rustfs/pull/1745
- fix: persist replication status and timestamp after replicate_object by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1747
- feat: add support for mtls with kubernetes installation by @majinghe in https://github.com/rustfs/rustfs/pull/1741
- perf(quota): Skip expensive usage checks when no quota configured by @thorntonmc in https://github.com/rustfs/rustfs/pull/1749
- perf(regex): Compile bucket validation regex once by @evanofslack in https://github.com/rustfs/rustfs/pull/1753
- build(deps): bump the dependencies group with 5 updates by @houseme in https://github.com/rustfs/rustfs/pull/1755
- build(deps): bump libunftp from 0.21.0 to 0.22.0 in the dependencies group across 1 directory by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1756
- fix(replication): avoid re-replication loop in Active-Active replication by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1751
- perf(scanner): Change DataUseageEntry from clone to borrow by @evanofslack in https://github.com/rustfs/rustfs/pull/1757
- fix: stabilize head metadata responses and heal tests by @LoganZ2 in https://github.com/rustfs/rustfs/pull/1732
- fix: improve part size calculation in optimal_part_info function by @mengyu-sxyz in https://github.com/rustfs/rustfs/pull/1532
- fix: Allow non-admin users to read bucket quota configuration. by @yxrxy in https://github.com/rustfs/rustfs/pull/1759
- fix(entrypoint): remove dead HTTP URL check in volume filtering by @amdadulbari in https://github.com/rustfs/rustfs/pull/1761
- feat(metrics): async collection with configurable intervals & graceful shutdown by @houseme in https://github.com/rustfs/rustfs/pull/1768
- Fix/resolve pr 1710 by @Tyooughtul in https://github.com/rustfs/rustfs/pull/1743
- build(deps): bump the dependencies group with 2+ updates by @heihutu in https://github.com/rustfs/rustfs/pull/1769
- feat(observability): Add grafana dashboard, observability changes by @evanofslack in https://github.com/rustfs/rustfs/pull/1770
New Contributors
- @moechs made their first contribution in https://github.com/rustfs/rustfs/pull/1679
- @StratusFearMe21 made their first contribution in https://github.com/rustfs/rustfs/pull/1739
- @thorntonmc made their first contribution in https://github.com/rustfs/rustfs/pull/1749
- @LoganZ2 made their first contribution in https://github.com/rustfs/rustfs/pull/1732
- @mengyu-sxyz made their first contribution in https://github.com/rustfs/rustfs/pull/1532
- @amdadulbari made their first contribution in https://github.com/rustfs/rustfs/pull/1761
- @Tyooughtul made their first contribution in https://github.com/rustfs/rustfs/pull/1743
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.82...1.0.0-alpha.83
1.0.0-alpha.82Pre-releaseReleased on 1/30/2026
What's Changed
- fix: correct max_keys field in list_object_versions response by @overtrue in https://github.com/rustfs/rustfs/pull/1576
- chore: update README. by @overtrue in https://github.com/rustfs/rustfs/pull/1586
- fix: Fixed detection warnings in rust v1.93.0 by @houseme in https://github.com/rustfs/rustfs/pull/1591
- fix: resolve Issue #1465 - IAM credential change crash by @yxrxy in https://github.com/rustfs/rustfs/pull/1535
- fix: handle duplicate part numbers in CompleteMultipartUpload by @overtrue in https://github.com/rustfs/rustfs/pull/1584
- fix: use main user for s3tests tenant to prevent teardown failures by @overtrue in https://github.com/rustfs/rustfs/pull/1597
- Fix/correctly handle compression by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1594
- feat: object retention by @GatewayJ in https://github.com/rustfs/rustfs/pull/1589
- fix: preserve exact JSON format in bucket policy GET response by @overtrue in https://github.com/rustfs/rustfs/pull/1598
- Add support for success_action_status and success_action_redirect in AWS S3 POST object uploads by @houseme in https://github.com/rustfs/rustfs/pull/1606
- Update README with docker-buildx.sh features by @DatTruonggg in https://github.com/rustfs/rustfs/pull/1585
- fix: listobjects v2 pagination by @overtrue in https://github.com/rustfs/rustfs/pull/1607
- fix: readme list. by @overtrue in https://github.com/rustfs/rustfs/pull/1608
- build(deps): bump the dependencies group with 3 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1612
- fix: unify path handling to use S3-standard forward slashes on all platforms by @houseme in https://github.com/rustfs/rustfs/pull/1555
- fix: remove plaintext credential logging by @houseme in https://github.com/rustfs/rustfs/pull/1619
- fix bug by @weisd in https://github.com/rustfs/rustfs/pull/1615
- fix: missing object.key in S3 event notifications for multipart uploads by @yxrxy in https://github.com/rustfs/rustfs/pull/1621
- fix: missing object.key in S3 event notifications for multipart uploads #1609 by @heihutu in https://github.com/rustfs/rustfs/pull/1624
- Fix:s3 compatibility by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1617
- fix:use RFC1123 format for last-modified header in 304 responses by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1627
- chore: remove skills and docs dir. by @overtrue in https://github.com/rustfs/rustfs/pull/1631
- Update README to streamline badge links by @loverustfs in https://github.com/rustfs/rustfs/pull/1643
- fix: map unversioned destination replication error correctly by @evanofslack in https://github.com/rustfs/rustfs/pull/1645
- build(deps): bump the dependencies group with 12 updates by @houseme in https://github.com/rustfs/rustfs/pull/1650
- fix(head): clearer NoSuchKey for prefix keys and validate part numbers by @houseme in https://github.com/rustfs/rustfs/pull/1638
- fix: build error on loongarch64 by @zhangwenlong8911 in https://github.com/rustfs/rustfs/pull/904
- feat: add virtual host mode support for kubernetes installation by @majinghe in https://github.com/rustfs/rustfs/pull/1655
- fix:s3 tests fix by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1652
- fix: deduplicate disks in capacity calculation to prevent inflation by @houseme in https://github.com/rustfs/rustfs/pull/1656
- fix: traefik gateway api support with sticky session by @majinghe in https://github.com/rustfs/rustfs/pull/1660
- refactor: NamespaceLock (nslock), AHM→Heal Crate, and Lock/Clippy Fixes by @weisd in https://github.com/rustfs/rustfs/pull/1664
- refactor(utils/os): Optimize Windows OS utilities and add safety comments by @houseme in https://github.com/rustfs/rustfs/pull/1671
- refactor: Remove unused data usage collection code by @weisd in https://github.com/rustfs/rustfs/pull/1672
New Contributors
- @DatTruonggg made their first contribution in https://github.com/rustfs/rustfs/pull/1585
- @evanofslack made their first contribution in https://github.com/rustfs/rustfs/pull/1645
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.81...1.0.0-alpha.82
1.0.0-alpha.81Pre-releaseReleased on 1/22/2026
What's Changed
- fix: return error instead of silently ignoring invalid ARNs in notification config by @AudricY in https://github.com/rustfs/rustfs/pull/1528
- fix: Fix BitrotWriter encode writer implementation by @weisd in https://github.com/rustfs/rustfs/pull/1531
- fix:correctly handle compress object when put object by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1534
- feat(server): optimize http transport and socket configuration for S3… by @heihutu in https://github.com/rustfs/rustfs/pull/1537
- optimize:replace size magic number -1 with SIZE_TRANSFORMED constant by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1542
- helm: use values in test connection pod image by @Telemaco019 in https://github.com/rustfs/rustfs/pull/1536
- helm: disable default resources, fix poddisruptionbudget condition by @jurim76 in https://github.com/rustfs/rustfs/pull/1539
- Dependabot/cargo/dep 0117 by @houseme in https://github.com/rustfs/rustfs/pull/1547
- fix: Increase lock acquire timeout for network storage reliability by @houseme in https://github.com/rustfs/rustfs/pull/1548
- feat(http): Enable dynamic window adjustment by @houseme in https://github.com/rustfs/rustfs/pull/1549
- perf: optimize transport layer (TCP/TLS/H2) for S3 traffic by @heihutu in https://github.com/rustfs/rustfs/pull/1551
- upgrade s3s version by @houseme in https://github.com/rustfs/rustfs/pull/1558
- Helm: Add ability to enable Virtual Hosting paths by @polds in https://github.com/rustfs/rustfs/pull/1559
- enhancement: unify logger level setting using obs env instead of RUST_LOG by @majinghe in https://github.com/rustfs/rustfs/pull/1529
- feat(admin): make capacity calculation resilient when backend info is missing by @houseme in https://github.com/rustfs/rustfs/pull/1560
- docs: remove deprecated RUSTFS_EXTERNAL_ADDRESS and RUST_LOG variables by @houseme in https://github.com/rustfs/rustfs/pull/1561
- enhancement: add podman installation support and static files generating by @majinghe in https://github.com/rustfs/rustfs/pull/1565
- fix(s3): return NoSuchTagSet for get_bucket_tagging when tags not set by @overtrue in https://github.com/rustfs/rustfs/pull/1567
- fix(s3): add x-amz-tagging-count header to HEAD object response by @overtrue in https://github.com/rustfs/rustfs/pull/1568
- fix(s3): return NoSuchUpload for abort_multipart_upload when upload_id not found by @overtrue in https://github.com/rustfs/rustfs/pull/1569
- feat: add comprehensive skills and agents for Rust development by @overtrue in https://github.com/rustfs/rustfs/pull/1573
- fix: implement get_object_torrent to return 404 NoSuchKey by @overtrue in https://github.com/rustfs/rustfs/pull/1575
- Fix/correctly handle object lock by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1556
- Fix/correctly handle get object ifmatch&ifnonematch by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1563
- feat: Add RustFS Scanner Module and Multiple Bug Fixes by @weisd in https://github.com/rustfs/rustfs/pull/1579
- refactor: replace chrono with jiff for time handling by @heihutu in https://github.com/rustfs/rustfs/pull/1582
New Contributors
- @AudricY made their first contribution in https://github.com/rustfs/rustfs/pull/1528
- @heihutu made their first contribution in https://github.com/rustfs/rustfs/pull/1537
- @polds made their first contribution in https://github.com/rustfs/rustfs/pull/1559
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.80...1.0.0-alpha.81
1.0.0-alpha.80Pre-releaseReleased on 1/16/2026
What's Changed
- add upgrade strategy for standalone mode by @majinghe in https://github.com/rustfs/rustfs/pull/1431
- add gateway api support due to ingress nginx retirement by @majinghe in https://github.com/rustfs/rustfs/pull/1432
- Default to helm chart version for docker image and not latest by @mkrueger92 in https://github.com/rustfs/rustfs/pull/1385
- replace winapi to windows crate by @houseme in https://github.com/rustfs/rustfs/pull/1455
- feat: object-list access by @GatewayJ in https://github.com/rustfs/rustfs/pull/1457
- fix: honor bucket policy for authenticated users by @loverustfs in https://github.com/rustfs/rustfs/pull/1460
- fix(http): Fix console bucket management functionality failure caused by RUSTFS_SERVER_DOMAINS by @houseme in https://github.com/rustfs/rustfs/pull/1467
- fix: Remove secret and signature from the log by @houseme in https://github.com/rustfs/rustfs/pull/1466
- Fix Windows Path Separator Handling in rustfs_utils by @houseme in https://github.com/rustfs/rustfs/pull/1464
- fix: add delete prefix option support by @weisd in https://github.com/rustfs/rustfs/pull/1471
- feat: implement bucket quota system by @yxrxy in https://github.com/rustfs/rustfs/pull/1461
- Refactor:replace feature from
jsonwebtokentorust_cryptoby @houseme in https://github.com/rustfs/rustfs/pull/1474aws_lc_rs - fix: avoid unwrap() panic in delete_prefix parsing by @weisd in https://github.com/rustfs/rustfs/pull/1476
- dependency name ignore for object_store by @houseme in https://github.com/rustfs/rustfs/pull/1481
- fix: return 404 for HEAD requests on non-existent objects in TLS by @houseme in https://github.com/rustfs/rustfs/pull/1480
- fix:handle null version ID in delete and return version_id in get_object by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1479
- build(deps): bump tracing-opentelemetry and flate2 version by @houseme in https://github.com/rustfs/rustfs/pull/1484
- Fix object tagging functionality issues #1415 by @houseme in https://github.com/rustfs/rustfs/pull/1485
- Remove the route by @houseme in https://github.com/rustfs/rustfs/pull/1487
rustfs/console/config.json - Optimization and collation of dependencies introduction processing by @houseme in https://github.com/rustfs/rustfs/pull/1493
- Refactor Event Admin Handlers and Parallelize Target Status Probes by @houseme in https://github.com/rustfs/rustfs/pull/1501
- Use POSIX statvfs, since statfs is not designed to be portable by @jan-schreib in https://github.com/rustfs/rustfs/pull/1495
- feat: add support for existing gateways in helm chart by @jasperweyne in https://github.com/rustfs/rustfs/pull/1469
- perf(utils): optimize User-Agent generation and platform detection by @houseme in https://github.com/rustfs/rustfs/pull/1504
- fix: exclude matching key from ListObjects results when using marker/startAfter by @houseme in https://github.com/rustfs/rustfs/pull/1506
- In the PVC definition, skip the storageClassName attr if null/empty by @arthurdarcet in https://github.com/rustfs/rustfs/pull/1498
- fix: handle copy_source_if_match in copy_object for S3 compatibility by @overtrue in https://github.com/rustfs/rustfs/pull/1408
- chore(deps): bump multiple dependencies by @houseme in https://github.com/rustfs/rustfs/pull/1510
- chore(deps): bump crc-fast, chrono, aws-smithy-types, ssh-key by @houseme in https://github.com/rustfs/rustfs/pull/1513
- fix: change health check statement to fix unhealthy issue for docker … by @majinghe in https://github.com/rustfs/rustfs/pull/1515
- fix: standart policy format by @GatewayJ in https://github.com/rustfs/rustfs/pull/1508
- upgrade s3s from to
0.13.0-alpha.1by @houseme in https://github.com/rustfs/rustfs/pull/15180.13.0-alpha.2 - feat: add Cors by @GatewayJ in https://github.com/rustfs/rustfs/pull/1496
- Fix:correctly handle versioning obj by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1521
- fix:correctly handle copy object by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1512
New Contributors
- @jasperweyne made their first contribution in https://github.com/rustfs/rustfs/pull/1469
- @arthurdarcet made their first contribution in https://github.com/rustfs/rustfs/pull/1498
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.79...1.0.0-alpha.80
1.0.0-alpha.79Pre-releaseReleased on 1/7/2026
What's Changed
- Feat/ftps&sftp by @yxrxy in https://github.com/rustfs/rustfs/pull/1308
- fix(tagging): fix e2e test_object_tagging failure by @0xdx2 in https://github.com/rustfs/rustfs/pull/1327
- fix: s3 list object versions next marker by @overtrue in https://github.com/rustfs/rustfs/pull/1328
- chore: upgrade dependencies and migrate to aws-lc-rs by @houseme in https://github.com/rustfs/rustfs/pull/1333
- chore: replace native-tls with pure rustls for FTPS/SFTP e2e tests by @yxrxy in https://github.com/rustfs/rustfs/pull/1334
- chore: upgrade GitHub Actions artifact actions by @houseme in https://github.com/rustfs/rustfs/pull/1339
- feat:Permission verification for deleting versions by @GatewayJ in https://github.com/rustfs/rustfs/pull/1341
- fix: remove nginx-ingress default body size limit by @usernameisnull in https://github.com/rustfs/rustfs/pull/1335
- fix:correct RemoteAddr extension type to enable IP-based policy evaluation by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1356
- fix: do not hardcode bash path by @jan-schreib in https://github.com/rustfs/rustfs/pull/1358
- fix: try casting available blocks to a u64 on FreeBSD and OpenBSD by @jan-schreib in https://github.com/rustfs/rustfs/pull/1360
- Fixing URL output format in IPv6 environments #1343 and Incorrect time in UI #1350 by @houseme in https://github.com/rustfs/rustfs/pull/1363
- fix: fix bucket policy principal parsing to support * and {AWS: *} fo… by @yxrxy in https://github.com/rustfs/rustfs/pull/1354
- fix: fix FTPS/SFTP download issues and optimize S3Client caching by @yxrxy in https://github.com/rustfs/rustfs/pull/1353
- feat:policy Resources support string and array modes. by @GatewayJ in https://github.com/rustfs/rustfs/pull/1346
- add node selector for standalone deployment by @majinghe in https://github.com/rustfs/rustfs/pull/1368
- helm: add nodeSelector to standalone deployment by @31ch in https://github.com/rustfs/rustfs/pull/1367
- dep: upgrade tokio 1.49.0 by @houseme in https://github.com/rustfs/rustfs/pull/1378
- Fix event object structure according to AWS rules by @codedoga in https://github.com/rustfs/rustfs/pull/1379
- Enable the possibility to freely configure request and limit by @mkrueger92 in https://github.com/rustfs/rustfs/pull/1374
- fix:allow NotResource-only policies in statement validation by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1364
- build(deps): bump the dependencies group with 2 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1383
- Fix Path Traversal and Enhance Object Validation by @weisd in https://github.com/rustfs/rustfs/pull/1387
- fix: s3 api compatibility by @overtrue in https://github.com/rustfs/rustfs/pull/1370
- fix: improve s3-tests readiness detection and Python package installation by @overtrue in https://github.com/rustfs/rustfs/pull/1390
- Refactor RPC Authentication System for Improved Maintainability by @weisd in https://github.com/rustfs/rustfs/pull/1391
- fix rpc client by @weisd in https://github.com/rustfs/rustfs/pull/1393
- feat: s3 tests classification by @overtrue in https://github.com/rustfs/rustfs/pull/1392
- Remove unused crates by @houseme in https://github.com/rustfs/rustfs/pull/1394
- fix: OpenBSD does not support TCPKeepalive intervals by @jan-schreib in https://github.com/rustfs/rustfs/pull/1382
- Remove the sysctl crate and use libc's sysctl call interface by @jan-schreib in https://github.com/rustfs/rustfs/pull/1396
- fix: Correct import permissions by @GatewayJ in https://github.com/rustfs/rustfs/pull/1402
- test(s3): add 9 delimiter list tests to implemented tests by @overtrue in https://github.com/rustfs/rustfs/pull/1410
- feat: Add permission verification for account creation by @GatewayJ in https://github.com/rustfs/rustfs/pull/1401
- Fix windows missing default backlog by @jan-schreib in https://github.com/rustfs/rustfs/pull/1405
- fix: improve memory ordering for disk health tracker by @weisd in https://github.com/rustfs/rustfs/pull/1412
- Enhance Object Version Management and Replication Status Handling by @weisd in https://github.com/rustfs/rustfs/pull/1413
- rm online check by @weisd in https://github.com/rustfs/rustfs/pull/1416
- Fix/fix improve for audit by @houseme in https://github.com/rustfs/rustfs/pull/1418
New Contributors
- @usernameisnull made their first contribution in https://github.com/rustfs/rustfs/pull/1335
- @jan-schreib made their first contribution in https://github.com/rustfs/rustfs/pull/1358
- @31ch made their first contribution in https://github.com/rustfs/rustfs/pull/1367
- @codedoga made their first contribution in https://github.com/rustfs/rustfs/pull/1379
- @mkrueger92 made their first contribution in https://github.com/rustfs/rustfs/pull/1374
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.78...1.0.0-alpha.79
1.0.0-alpha.78Pre-releaseReleased on 12/30/2025
What's Changed
- delete -R parameter in init container step by @majinghe in https://github.com/rustfs/rustfs/pull/1264
- opt: store IoLoadMetrics records with circular vector by @lgpseu in https://github.com/rustfs/rustfs/pull/1265
- chore: remove e2e-mint workflow by @Copilot in https://github.com/rustfs/rustfs/pull/1274
- fix: prevent PV/PVC deletion during rustfs uninstallation by @bbb4aaa in https://github.com/rustfs/rustfs/pull/1279
- fix:affinity.podAntiAffinity.enabled value not taking effect by @bbb4aaa in https://github.com/rustfs/rustfs/pull/1280
- helm: update default Chart.yaml, appVersion version bump, add appVersion as a default image tag by @jurim76 in https://github.com/rustfs/rustfs/pull/1247
- feat: add function to extract user-defined metadata keys and integrat… by @0xdx2 in https://github.com/rustfs/rustfs/pull/1281
- fix: ensure version_id is returned in S3 response headers by @loverustfs in https://github.com/rustfs/rustfs/pull/1272
- fix:ListObjects and ListObjectV2 correctly handles unordered and delimiter by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/1285
- Modular Makefile by @cod3mas0n in https://github.com/rustfs/rustfs/pull/1288
- fix: Prevent panic in GetMetrics gRPC handler on invalid input by @houseme in https://github.com/rustfs/rustfs/pull/1291
- helm: add enableServiceLinks, poddisruptionbudget by @jurim76 in https://github.com/rustfs/rustfs/pull/1293
- feat: add local s3-tests script with configurable options and improvements by @overtrue in https://github.com/rustfs/rustfs/pull/1300
- fix: correctly handle aws:SourceIp in policy evaluation (#1301) by @loverustfs in https://github.com/rustfs/rustfs/pull/1306
- Restore globals and add unified TLS/mTLS loading from RUSTFS_TLS_PATH by @houseme in https://github.com/rustfs/rustfs/pull/1309
- fix(iam): preserve decrypt-failed credentials instead of deleting them by @yxrxy in https://github.com/rustfs/rustfs/pull/1312
New Contributors
- @lgpseu made their first contribution in https://github.com/rustfs/rustfs/pull/1265
- @bbb4aaa made their first contribution in https://github.com/rustfs/rustfs/pull/1279
- @LeonWang0735 made their first contribution in https://github.com/rustfs/rustfs/pull/1285
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.77...1.0.0-alpha.78
1.0.0-alpha.77Pre-releaseReleased on 12/25/2025
What's Changed
- add cert manager and ingress annotations support by @majinghe in https://github.com/rustfs/rustfs/pull/1206
- Optimize ci ubicloud by @loverustfs in https://github.com/rustfs/rustfs/pull/1208
- fix: decode form-urlencoded object names in webhook/mqtt Key field by @Copilot in https://github.com/rustfs/rustfs/pull/1210
- chore(ci): restore workflows before 8e0aeb4 by @loverustfs in https://github.com/rustfs/rustfs/pull/1212
- fix(iam): store previous credentials in .rustfs.sys bucket to preserv… by @yxrxy in https://github.com/rustfs/rustfs/pull/1213
- fix: expiration time by @GatewayJ in https://github.com/rustfs/rustfs/pull/1215
- add custom nodeport support by @majinghe in https://github.com/rustfs/rustfs/pull/1217
- fix: resolve event target deletion issue by @yxrxy in https://github.com/rustfs/rustfs/pull/1219
- fix: resolve TLS handshake failure in inter-node communication (#1201) by @loverustfs in https://github.com/rustfs/rustfs/pull/1222
- fix(config):Update argument parsing for volumes and server_domains to support del… by @0xdx2 in https://github.com/rustfs/rustfs/pull/1209
- Fix notification event stream cleanup, add bounded send concurrency, and reduce overhead by @houseme in https://github.com/rustfs/rustfs/pull/1224
- Add Disk Timeout and Health Check Functionality by @weisd in https://github.com/rustfs/rustfs/pull/1196
- helm: allow to define additional config variables by @jurim76 in https://github.com/rustfs/rustfs/pull/1220
- fix: HeadObject returns 404 for deleted objects with versioning enabled by @loverustfs in https://github.com/rustfs/rustfs/pull/1229
- Add: rust installation in Makefile by @cod3mas0n in https://github.com/rustfs/rustfs/pull/1188
- update s3s version by @houseme in https://github.com/rustfs/rustfs/pull/1237
- console port is 9001 by @YiuTerran in https://github.com/rustfs/rustfs/pull/1235
- Custom annotation by @majinghe in https://github.com/rustfs/rustfs/pull/1242
- delete userless helm chart file by @majinghe in https://github.com/rustfs/rustfs/pull/1245
- :technologist: Fix nix develop problem with Git-Based dependecies on nix develop shell by @mhkarimi1383 in https://github.com/rustfs/rustfs/pull/1243
- Revert "fix(iam): store previous credentials in .rustfs.sys bucket to… by @yxrxy in https://github.com/rustfs/rustfs/pull/1238
- feat: add seek support for small objects in rustfs by @reatang in https://github.com/rustfs/rustfs/pull/1231
- helm: fix service/containers ports, fix podAntiAffinity by @jurim76 in https://github.com/rustfs/rustfs/pull/1230
- helm: expose init container parameters as helm values by @Telemaco019 in https://github.com/rustfs/rustfs/pull/1232
- add ca-certificates in mcp-server Dockerfile by @andrea-manzi in https://github.com/rustfs/rustfs/pull/1248
- fix: Add retry mechanism for GLOBAL_CONFIG_SYS initialization by @weisd in https://github.com/rustfs/rustfs/pull/1252
- remove unlinked file by @houseme in https://github.com/rustfs/rustfs/pull/1258
- Inject into HTTP server pipeline and gate traffic until
GlobalReadinessby @houseme in https://github.com/rustfs/rustfs/pull/1255FullReady - feat: Add TONIC_PREFIX prefix matching in ReadinessGateService by @houseme in https://github.com/rustfs/rustfs/pull/1261
New Contributors
- @YiuTerran made their first contribution in https://github.com/rustfs/rustfs/pull/1235
- @Telemaco019 made their first contribution in https://github.com/rustfs/rustfs/pull/1232
- @andrea-manzi made their first contribution in https://github.com/rustfs/rustfs/pull/1248
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.76...1.0.0-alpha.77
1.0.0-alpha.76Pre-releaseReleased on 12/19/2025
Fixed an update error in the unified version number check entry.
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.75...1.0.0-alpha.76
1.0.0-alpha.75Pre-releaseReleased on 12/19/2025
What's Changed
Fixed a bug in alpha.74 that caused slow upload speeds to Ubicloud and enabled global acceleration.
- build(deps): bump s3s from 0.12.0-rc.4 to 0.12.0-rc.5 in the s3s group by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1046
- upgrade action checkout version from v5 to v6 by @houseme in https://github.com/rustfs/rustfs/pull/1067
- helm: Use service.type from Values by @simonswine in https://github.com/rustfs/rustfs/pull/1106
- chore: remove unused dependencies to optimize build by @houseme in https://github.com/rustfs/rustfs/pull/1117
- Fix Docker-based Development Workflow by @YGoetschel in https://github.com/rustfs/rustfs/pull/1031
- Feat/e2e s3tests by @overtrue in https://github.com/rustfs/rustfs/pull/1120
- Fix type errors in and apply clippy fixes for Rust 1.92.0 by @houseme in https://github.com/rustfs/rustfs/pull/1121
ecfs.rs - feat: Be able to set region from Helm chart by @swolf-regnology in https://github.com/rustfs/rustfs/pull/1119
- add image pull secret support by @majinghe in https://github.com/rustfs/rustfs/pull/1127
- render imagePullSecrets in Deployment/StatefulSet by @czaloumis in https://github.com/rustfs/rustfs/pull/1130
- fix: update tool chain make everything happy by @yihong0618 in https://github.com/rustfs/rustfs/pull/1134
- flake: add Nix flake for reproducible builds by @Mic92 in https://github.com/rustfs/rustfs/pull/1096
- Replace placeholder content in SECURITY.md by @llominski in https://github.com/rustfs/rustfs/pull/1140
- Add docs for using Nix flake by @Mic92 in https://github.com/rustfs/rustfs/pull/1103
- Fix memory leak in Cache update method by @sunfkny in https://github.com/rustfs/rustfs/pull/1143
- helm: refactor helm chart by @jurim76 in https://github.com/rustfs/rustfs/pull/1122
- helm: Mount /tmp as emptyDir by @simonswine in https://github.com/rustfs/rustfs/pull/1105
- build(deps): bump the dependencies group with 3 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1148
- feat: add pre-commit file by @yihong0618 in https://github.com/rustfs/rustfs/pull/1155
- list object version Interface returns storage_class by @GatewayJ in https://github.com/rustfs/rustfs/pull/1133
- fix: other two memory leak in the code base by @yihong0618 in https://github.com/rustfs/rustfs/pull/1160
- feat: Implement AWS policy variables support by @yxrxy in https://github.com/rustfs/rustfs/pull/1131
- feat: Implement whitelist-based HTTP response compression configuration by @reatang in https://github.com/rustfs/rustfs/pull/1136
- fix: the method for correcting judgment headers by @GatewayJ in https://github.com/rustfs/rustfs/pull/1159
- fix: format of bucket event notifications by @mythrnr in https://github.com/rustfs/rustfs/pull/1138
- Dependabot/cargo/s3s df2434d 1216 by @houseme in https://github.com/rustfs/rustfs/pull/1170
- feat: Replace LRU cache with Moka async cache in policy variables by @yxrxy in https://github.com/rustfs/rustfs/pull/1166
- fix: improve S3 API compatibility for ListObjects operations by @overtrue in https://github.com/rustfs/rustfs/pull/1173
- :technologist: Improve shebang compatibility by @mhkarimi1383 in https://github.com/rustfs/rustfs/pull/1180
- fix: Remove the compression check that has already been handled by . by @reatang in https://github.com/rustfs/rustfs/pull/1190
tower-http::CompressionLayer - Fix/fix event 1216 by @houseme in https://github.com/rustfs/rustfs/pull/1191
New Contributors
- @simonswine made their first contribution in https://github.com/rustfs/rustfs/pull/1106
- @YGoetschel made their first contribution in https://github.com/rustfs/rustfs/pull/1031
- @swolf-regnology made their first contribution in https://github.com/rustfs/rustfs/pull/1119
- @czaloumis made their first contribution in https://github.com/rustfs/rustfs/pull/1130
- @llominski made their first contribution in https://github.com/rustfs/rustfs/pull/1140
- @sunfkny made their first contribution in https://github.com/rustfs/rustfs/pull/1143
- @jurim76 made their first contribution in https://github.com/rustfs/rustfs/pull/1122
- @mythrnr made their first contribution in https://github.com/rustfs/rustfs/pull/1138
- @mhkarimi1383 made their first contribution in https://github.com/rustfs/rustfs/pull/1180
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.73...1.0.0-alpha.74 Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.74...1.0.0-alpha.75
1.0.0-alpha.74Pre-releaseReleased on 12/19/2025
What's Changed
- build(deps): bump s3s from 0.12.0-rc.4 to 0.12.0-rc.5 in the s3s group by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1046
- upgrade action checkout version from v5 to v6 by @houseme in https://github.com/rustfs/rustfs/pull/1067
- helm: Use service.type from Values by @simonswine in https://github.com/rustfs/rustfs/pull/1106
- chore: remove unused dependencies to optimize build by @houseme in https://github.com/rustfs/rustfs/pull/1117
- Fix Docker-based Development Workflow by @YGoetschel in https://github.com/rustfs/rustfs/pull/1031
- Feat/e2e s3tests by @overtrue in https://github.com/rustfs/rustfs/pull/1120
- Fix type errors in and apply clippy fixes for Rust 1.92.0 by @houseme in https://github.com/rustfs/rustfs/pull/1121
ecfs.rs - feat: Be able to set region from Helm chart by @swolf-regnology in https://github.com/rustfs/rustfs/pull/1119
- add image pull secret support by @majinghe in https://github.com/rustfs/rustfs/pull/1127
- render imagePullSecrets in Deployment/StatefulSet by @czaloumis in https://github.com/rustfs/rustfs/pull/1130
- fix: update tool chain make everything happy by @yihong0618 in https://github.com/rustfs/rustfs/pull/1134
- flake: add Nix flake for reproducible builds by @Mic92 in https://github.com/rustfs/rustfs/pull/1096
- Replace placeholder content in SECURITY.md by @llominski in https://github.com/rustfs/rustfs/pull/1140
- Add docs for using Nix flake by @Mic92 in https://github.com/rustfs/rustfs/pull/1103
- Fix memory leak in Cache update method by @sunfkny in https://github.com/rustfs/rustfs/pull/1143
- helm: refactor helm chart by @jurim76 in https://github.com/rustfs/rustfs/pull/1122
- helm: Mount /tmp as emptyDir by @simonswine in https://github.com/rustfs/rustfs/pull/1105
- build(deps): bump the dependencies group with 3 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/1148
- feat: add pre-commit file by @yihong0618 in https://github.com/rustfs/rustfs/pull/1155
- list object version Interface returns storage_class by @GatewayJ in https://github.com/rustfs/rustfs/pull/1133
- fix: other two memory leak in the code base by @yihong0618 in https://github.com/rustfs/rustfs/pull/1160
- feat: Implement AWS policy variables support by @yxrxy in https://github.com/rustfs/rustfs/pull/1131
- feat: Implement whitelist-based HTTP response compression configuration by @reatang in https://github.com/rustfs/rustfs/pull/1136
- fix: the method for correcting judgment headers by @GatewayJ in https://github.com/rustfs/rustfs/pull/1159
- fix: format of bucket event notifications by @mythrnr in https://github.com/rustfs/rustfs/pull/1138
- Dependabot/cargo/s3s df2434d 1216 by @houseme in https://github.com/rustfs/rustfs/pull/1170
- feat: Replace LRU cache with Moka async cache in policy variables by @yxrxy in https://github.com/rustfs/rustfs/pull/1166
- fix: improve S3 API compatibility for ListObjects operations by @overtrue in https://github.com/rustfs/rustfs/pull/1173
- :technologist: Improve shebang compatibility by @mhkarimi1383 in https://github.com/rustfs/rustfs/pull/1180
- fix: Remove the compression check that has already been handled by . by @reatang in https://github.com/rustfs/rustfs/pull/1190
tower-http::CompressionLayer - Fix/fix event 1216 by @houseme in https://github.com/rustfs/rustfs/pull/1191
New Contributors
- @simonswine made their first contribution in https://github.com/rustfs/rustfs/pull/1106
- @YGoetschel made their first contribution in https://github.com/rustfs/rustfs/pull/1031
- @swolf-regnology made their first contribution in https://github.com/rustfs/rustfs/pull/1119
- @czaloumis made their first contribution in https://github.com/rustfs/rustfs/pull/1130
- @llominski made their first contribution in https://github.com/rustfs/rustfs/pull/1140
- @sunfkny made their first contribution in https://github.com/rustfs/rustfs/pull/1143
- @jurim76 made their first contribution in https://github.com/rustfs/rustfs/pull/1122
- @mythrnr made their first contribution in https://github.com/rustfs/rustfs/pull/1138
- @mhkarimi1383 made their first contribution in https://github.com/rustfs/rustfs/pull/1180
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-alpha.73...1.0.0-alpha.74