What's Changed
- fix(object-lock): materialize default retention metadata by @GatewayJ in #2824
- test(s3): promote passing copy metadata case by @overtrue in #2832
- fix: 2827 lifecycle days next midnight by @cxymds in #2833
- fix(security): document unsafe and TLS overrides by @overtrue in #2835
- feat: add features option to build script by @giter in #2834
- test(build): cover build script feature flags by @overtrue in #2837
- test(helm): cover standalone scale-to-zero rendering by @overtrue in #2831
- test(lifecycle): cover ILM process time aliases by @overtrue in #2839
- test(object-lock): cover default retention delete marker by @GatewayJ in #2836
- fix(replication): handle version ID format mismatch with AWS S3 by @ajax-bakun-n in #2829
- test(replication): cover ETag comparison edge cases by @overtrue in #2840
- fix(build): quote build script features argument by @overtrue in #2841
- fix(admin): normalize empty admin POST content length by @cxymds in #2843
- feat(rustfs): add ftps/webdav defaults to info output by @houseme in #2845
- bump workspace versions and replace cfg-if in crypto by @houseme in #2851
- fix(ecstore): remove startup order sensitivity by @cxymds in #2850
- test(admin): cover POST content length compat layer by @overtrue in #2844
- feat(targets): complete redis mysql postgres target wiring by @houseme in #2842
- fix(ecstore): repair decommission pool quorum by @cxymds in #2847
- docs(io-metrics): fix misleading metrics links by @marshawcoco in #2849
- fix(targets): probe webhook health by host port by @houseme in #2854
- docs(security): refresh advisory lesson states by @overtrue in #2859
- test(targets): cover Redis env config loading by @overtrue in #2857
- test(s3): promote lifecycle expiration header tests by @overtrue in #2858
- docs(security): make advisory skill lesson first by @overtrue in #2860
- feat: enrich admin pools list response by @cxymds in #2853
- fix(ecstore): reset drive health between store init format retries by @weisd in #2848
- test(ecstore): cover store init health reset delegation by @overtrue in #2865
- test(admin): cover pool used-size saturation by @overtrue in #2863
- docs: ban rust-refactor-helper skill by @overtrue in #2869
- test(admin): cover pools list response serialization by @overtrue in #2862
- fix(iam): keep error state on initial load failure by @marshawcoco in #2846
- fix(ecstore): harden runtime read-path quorum handling by @houseme in #2872
- test(ecstore): cover system path failure classifier by @overtrue in #2874
- test(ecstore): cover offline capacity snapshots by @overtrue in #2880
- feat(targets): add AMQP support for notify and audit by @houseme in #2879
- fix(targets): handle postgres dsn redaction scheme case by @overtrue in #2886
- test(ecstore): cover empty runtime listing candidates by @overtrue in #2889
- docs(targets): sync AGENTS.md and test doc comments with code by @JaySon-Huang in #2881
- fix(server): handle public health before s3 host parsing by @marshawcoco in #2866
- fix: empty-body requests without content length by @SamuraJey in #2888
- fix(sse): Temporarily refactored the SSE design for ECStore by @reatang in #2813
- feat: enhance WebDAV support with features and directory operations (#2856) by @houseme in #2892
- feat(sftp): add SFTPv3 protocol support by @simon-escapecode in #2875
- chore(deps): update flake.lock by @houseme in #2894
- test(sftp): cover init negotiation and platform gating by @overtrue in #2896
- test(sftp): cover init session activity stamp by @overtrue in #2898
- keep sftp e2e tests buildable by @houseme in #2897
- feat(targets): add check_mysql_server_available probe function by @JaySon-Huang in #2884
- test(s3): promote passing SSE multipart cases by @overtrue in #2900
- optimize(obs):zero and expire removed replication bandwidth series by @LeonWang0735 in #2901
- fix(targets): handle MySQL DSN scheme case by @overtrue in #2903
- test(obs): cover replication bandwidth tombstones by @overtrue in #2906
- test(targets): cover MySQL probe validation by @overtrue in #2907
- fix(sftp): classify backend errors by type by @marshawcoco in #2909
- fix(protocols): encode storage client request URIs by @marshawcoco in #2911
- test(e2e): gate protocol runner by requested features by @marshawcoco in #2912
- fix(notify): match filters against decoded event keys by @marshawcoco in #2921
- fix(ecstore): fail listing on stalled reader by @marshawcoco in #2920
- fix(storage): sync transition tier config across peers by @cxymds in #2918
- fix(ecstore): preserve list marker set index by @marshawcoco in #2919
- fix(protocols): add hot reload for WebDAV FTPS and SFTP by @houseme in #2922
- test(protocols): cover TLS reload fingerprint ordering by @overtrue in #2927
- iam: handle sts claim policy names by @GatewayJ in #2902
- test(iam): cover mixed STS claim policy names by @overtrue in #2932
- test(protocols): cover SFTP host key reload failure by @overtrue in #2928
- fix(sftp): preserve open attrs metadata by @marshawcoco in #2929
- test(notify): cover encoded key target union by @overtrue in #2934
- fix: make HeadObject consistent after write completion by @houseme in #2936
- fix(tls): ignore Kubernetes secret projection dirs by @marshawcoco in #2938
- fix(server): fail fast when configured TLS parsing fails by @houseme in #2939
- fix(ecstore): surface prefix listing storage errors by @weisd in #2940
- fix(storage): keep storage info RPC map encoded by @weisd in #2942
- fix(sftp): avoid metadata on multipart copy by @overtrue in #2935
- fix(ecstore): fail listing on walk_dir producer errors by @marshawcoco in #2937
- fix: preserve pagination when max keys exceed limit by @weisd in #2943
- fix(ecstore): map missing metadata to not found by @cxymds in #2944
- Fix #2775 recursive list handling in LocalDisk::scan_dir() by @SamuraJey in #2923
- fix(ecstore): propagate walk listing errors by @marshawcoco in #2949
- fix(notify): keep live listen events active when disabled by @marshawcoco in #2952
- test(ecstore): cover walk listing error success paths by @overtrue in #2954
- chore(release): prepare 1.0.0-beta.3 by @houseme in #2957
- refactor(targets): unify queue/connectivity handling and coverage by @houseme in #2953
- fix(ecstore): use hex sha256 for delete objects by @marshawcoco in #2958
- test(notify): cover prefix suffix event dispatch by @marshawcoco in #2960
New Contributors
- @ajax-bakun-n made their first contribution in #2829
- @SamuraJey made their first contribution in #2888
Full Changelog: 1.0.0-beta.2...1.0.0-beta.3