Releases: rustfs/cli
Release list
Release v0.1.32
What's Changed
- fix(admin): report global heal operations status by @cxymds in #249
- docs(admin): document heal and rebalance workflows by @cxymds in #251
- test(cli): cover recursive prefix download paths by @overtrue in #252
- fix: harden CLI safety, S3 transport, and release workflows by @overtrue in #253
- docs(admin)!: clarify RustFS-only Admin API support by @overtrue in #254
- test(cp): cover symlink file download destination by @overtrue in #255
- fix(admin): show disabled heal runtime state by @overtrue in #256
- feat(admin): add service control and site replication commands by @overtrue in #257
- fix(admin): support root heal task status and stop by @cxymds in #258
- fix(admin): decode beta.9 response envelopes by @cxymds in #260
- fix(heal): honor explicit runtime state in status by @cxymds in #262
- test(admin): cover site replication add body by @overtrue in #263
- feat(admin): support service account updates by @cxymds in #264
- feat(admin): support inline service account policy JSON by @cxymds in #265
- fix(rm): support documented destructive removal flags by @overtrue in #289
- feat(cli)!: add runtime discovery and replication workflows by @cxymds in #272
- test(ci): pin RustFS compatibility matrix by @cxymds in #267
- feat(rc-ops)!: add health, readiness, and usage commands by @cxymds in #294
- feat(watch)!: stream RustFS object notifications by @cxymds in #295
- feat(transfer): add multi-source planning and global controls by @cxymds in #271
- feat(rc-mirror)!: support local paths and parity controls by @cxymds in #274
- feat(rc-versioning)!: add version-aware object operations by @cxymds in #296
- feat(rc-worm)!: manage object lock, retention, and legal hold by @cxymds in #276
- feat(rc-bucket)!: implement verified bucket creation options by @cxymds in #284
- feat(rc-admin)!: add scanner, storage, and metrics diagnostics by @cxymds in #297
- feat(rc-admin)!: add read-only RustFS KMS inspection by @cxymds in #278
- feat(rc-admin)!: add safe RustFS KMS key lifecycle mutations by @cxymds in #279
- feat(rc-admin)!: add secure RustFS KMS configuration lifecycle by @cxymds in #280
- feat(rc-admin)!: add non-exporting SSE-KMS round-trip diagnostic by @cxymds in #281
- feat(admin): classify RustFS diagnostic capabilities by @cxymds in #298
- feat(rc-admin)!: add bounded diagnostic snapshots by @cxymds in #285
- feat(rc-admin)!: add bounded client devnull diagnostics by @cxymds in #286
- feat(rc-admin)!: add safe server configuration management by @cxymds in #299
- feat(undo): restore versioned PUT and DELETE operations by @cxymds in #300
- feat(copy-core): add multipart server-side copy primitive by @cxymds in #301
- feat(copy): add recursive same-endpoint remote copy by @cxymds in #302
- feat(core): add transfer fidelity option models by @cxymds in #303
- feat(s3): round-trip object attributes and tags by @cxymds in #304
- feat(transfer): support truthful destination storage classes by @cxymds in #305
- feat(transfer): add checksum selection and verification by @cxymds in #306
- feat(transfer): add secure SSE-C source and destination keys by @cxymds in #307
- feat(transfer): apply retention and legal hold atomically by @cxymds in #308
- feat(cli): expose transfer fidelity controls by @cxymds in #309
- fix(rm): delete versions with explicit version IDs by @overtrue in #293
- feat(admin): add manual transition run command by @houseme in #310
- feat(ilm): pass manual transition duration budget by @houseme in #311
- feat(ilm): show already transitioned count by @houseme in #312
- feat(admin): report observed storage metrics safely by @cxymds in #315
- feat(completions): add safe user-level install by @cxymds in #313
- feat(transfer): add get and put compatibility aliases by @cxymds in #314
- feat(alias): add secret-safe export and import by @cxymds in #316
- feat(admin): add read-only OIDC inspection and validation by @cxymds in #317
- docs: publish mc compatibility and blocker matrix by @cxymds in #318
- feat(admin): inspect IAM policy entity mappings by @cxymds in #319
- feat(admin): add safe OIDC provider mutations by @cxymds in #320
- feat(admin): add typed IAM policy detach by @cxymds in #323
- feat(admin): safely delete OIDC providers by @cxymds in #322
- feat(multipart): list and abort incomplete uploads by @cxymds in #321
- feat(admin): add bucket metadata archive workflow by @cxymds in #324
- feat(admin): add safe IAM archive round trips by @cxymds in #325
- feat(admin): add bulk access-key inspection by @cxymds in #326
- feat(bucket)!: implement staged forced cleanup by @cxymds in #327
- feat(replication): add typed metrics and MRF inspection by @cxymds in #328
- feat(replication): render structured active checks by @cxymds in #329
- feat(diagnostics): retrieve encrypted inspect archives by @cxymds in #330
- feat(replication): add durable site repair lifecycle by @cxymds in #331
- test(admin): cover repair status id validation by @overtrue in #332
- fix(diagnostics): allow root output aliases by @overtrue in #333
- feat(admin): add manual transition job controls by @houseme in #334
- test(admin): cover manual transition CLI job flow by @houseme in #336
- test(admin): cover real backend ILM job commands by @houseme in #337
- test(admin): cover ILM wait timeout by @overtrue in #341
- fix(admin): distinguish unavailable cluster counts by @houseme in #343
- fix: preserve lifecycle delete-marker cleanup by @cxymds in #344
- feat(release): add rpm and deb packaging workflow by @majinghe in #346
- test(ilm): cover invalid lifecycle rule import by @overtrue in #345
- fix(release): harden deb and rpm packaging by @cxymds in #347
- docs: add first-principles guidance by @overtrue in #349
- fix(admin): honor server-advertised capabilities and extend IAM pin to rc series by @reatang in #348
- feat(admin): send targetUser when creating a service account by @loverustfs in #352
- fix(ci): stabilize macOS versioned-object mock by @cxymds in #356
- feat(cp): copy objects across aliases via download and upload by @loverustfs in #353
- fix(mirror): skip recopies when source ETag is preserved in metadata by @loverustfs in #351
- fix(ilm): preserve lifecycle extension fields by @cxymds in #355
- fix(transfer): accept colon object keys on Unix destinations by @loverustfs in #350
- feat(transfer): align cross-alias copy, move, and diff on source identity by @loverustfs in #354
- feat(admin): rc admin account and user two-factor commands by @sineld in #358
New Contributors
- @reatang made their first contribution in #348
- @loverustfs made their first contribution in #352
- @sineld made their first contribution in #358
Full Changelog: v0.1.24...v0.1.32
Release v0.1.31
What's Changed
- fix(admin): report global heal operations status by @cxymds in #249
- docs(admin): document heal and rebalance workflows by @cxymds in #251
- test(cli): cover recursive prefix download paths by @overtrue in #252
- fix: harden CLI safety, S3 transport, and release workflows by @overtrue in #253
- docs(admin)!: clarify RustFS-only Admin API support by @overtrue in #254
- test(cp): cover symlink file download destination by @overtrue in #255
- fix(admin): show disabled heal runtime state by @overtrue in #256
- feat(admin): add service control and site replication commands by @overtrue in #257
- fix(admin): support root heal task status and stop by @cxymds in #258
- fix(admin): decode beta.9 response envelopes by @cxymds in #260
- fix(heal): honor explicit runtime state in status by @cxymds in #262
- test(admin): cover site replication add body by @overtrue in #263
- feat(admin): support service account updates by @cxymds in #264
- feat(admin): support inline service account policy JSON by @cxymds in #265
- fix(rm): support documented destructive removal flags by @overtrue in #289
- feat(cli)!: add runtime discovery and replication workflows by @cxymds in #272
- test(ci): pin RustFS compatibility matrix by @cxymds in #267
- feat(rc-ops)!: add health, readiness, and usage commands by @cxymds in #294
- feat(watch)!: stream RustFS object notifications by @cxymds in #295
- feat(transfer): add multi-source planning and global controls by @cxymds in #271
- feat(rc-mirror)!: support local paths and parity controls by @cxymds in #274
- feat(rc-versioning)!: add version-aware object operations by @cxymds in #296
- feat(rc-worm)!: manage object lock, retention, and legal hold by @cxymds in #276
- feat(rc-bucket)!: implement verified bucket creation options by @cxymds in #284
- feat(rc-admin)!: add scanner, storage, and metrics diagnostics by @cxymds in #297
- feat(rc-admin)!: add read-only RustFS KMS inspection by @cxymds in #278
- feat(rc-admin)!: add safe RustFS KMS key lifecycle mutations by @cxymds in #279
- feat(rc-admin)!: add secure RustFS KMS configuration lifecycle by @cxymds in #280
- feat(rc-admin)!: add non-exporting SSE-KMS round-trip diagnostic by @cxymds in #281
- feat(admin): classify RustFS diagnostic capabilities by @cxymds in #298
- feat(rc-admin)!: add bounded diagnostic snapshots by @cxymds in #285
- feat(rc-admin)!: add bounded client devnull diagnostics by @cxymds in #286
- feat(rc-admin)!: add safe server configuration management by @cxymds in #299
- feat(undo): restore versioned PUT and DELETE operations by @cxymds in #300
- feat(copy-core): add multipart server-side copy primitive by @cxymds in #301
- feat(copy): add recursive same-endpoint remote copy by @cxymds in #302
- feat(core): add transfer fidelity option models by @cxymds in #303
- feat(s3): round-trip object attributes and tags by @cxymds in #304
- feat(transfer): support truthful destination storage classes by @cxymds in #305
- feat(transfer): add checksum selection and verification by @cxymds in #306
- feat(transfer): add secure SSE-C source and destination keys by @cxymds in #307
- feat(transfer): apply retention and legal hold atomically by @cxymds in #308
- feat(cli): expose transfer fidelity controls by @cxymds in #309
- fix(rm): delete versions with explicit version IDs by @overtrue in #293
- feat(admin): add manual transition run command by @houseme in #310
- feat(ilm): pass manual transition duration budget by @houseme in #311
- feat(ilm): show already transitioned count by @houseme in #312
- feat(admin): report observed storage metrics safely by @cxymds in #315
- feat(completions): add safe user-level install by @cxymds in #313
- feat(transfer): add get and put compatibility aliases by @cxymds in #314
- feat(alias): add secret-safe export and import by @cxymds in #316
- feat(admin): add read-only OIDC inspection and validation by @cxymds in #317
- docs: publish mc compatibility and blocker matrix by @cxymds in #318
- feat(admin): inspect IAM policy entity mappings by @cxymds in #319
- feat(admin): add safe OIDC provider mutations by @cxymds in #320
- feat(admin): add typed IAM policy detach by @cxymds in #323
- feat(admin): safely delete OIDC providers by @cxymds in #322
- feat(multipart): list and abort incomplete uploads by @cxymds in #321
- feat(admin): add bucket metadata archive workflow by @cxymds in #324
- feat(admin): add safe IAM archive round trips by @cxymds in #325
- feat(admin): add bulk access-key inspection by @cxymds in #326
- feat(bucket)!: implement staged forced cleanup by @cxymds in #327
- feat(replication): add typed metrics and MRF inspection by @cxymds in #328
- feat(replication): render structured active checks by @cxymds in #329
- feat(diagnostics): retrieve encrypted inspect archives by @cxymds in #330
- feat(replication): add durable site repair lifecycle by @cxymds in #331
- test(admin): cover repair status id validation by @overtrue in #332
- fix(diagnostics): allow root output aliases by @overtrue in #333
- feat(admin): add manual transition job controls by @houseme in #334
- test(admin): cover manual transition CLI job flow by @houseme in #336
- test(admin): cover real backend ILM job commands by @houseme in #337
Full Changelog: v0.1.24...v0.1.31
Release v0.1.30
What's Changed
- fix(admin): report global heal operations status by @cxymds in #249
- docs(admin): document heal and rebalance workflows by @cxymds in #251
- test(cli): cover recursive prefix download paths by @overtrue in #252
- fix: harden CLI safety, S3 transport, and release workflows by @overtrue in #253
- docs(admin)!: clarify RustFS-only Admin API support by @overtrue in #254
- test(cp): cover symlink file download destination by @overtrue in #255
- fix(admin): show disabled heal runtime state by @overtrue in #256
- feat(admin): add service control and site replication commands by @overtrue in #257
- fix(admin): support root heal task status and stop by @cxymds in #258
- fix(admin): decode beta.9 response envelopes by @cxymds in #260
- fix(heal): honor explicit runtime state in status by @cxymds in #262
- test(admin): cover site replication add body by @overtrue in #263
- feat(admin): support service account updates by @cxymds in #264
- feat(admin): support inline service account policy JSON by @cxymds in #265
- fix(rm): support documented destructive removal flags by @overtrue in #289
- feat(cli)!: add runtime discovery and replication workflows by @cxymds in #272
- test(ci): pin RustFS compatibility matrix by @cxymds in #267
- feat(rc-ops)!: add health, readiness, and usage commands by @cxymds in #294
- feat(watch)!: stream RustFS object notifications by @cxymds in #295
- feat(transfer): add multi-source planning and global controls by @cxymds in #271
- feat(rc-mirror)!: support local paths and parity controls by @cxymds in #274
- feat(rc-versioning)!: add version-aware object operations by @cxymds in #296
- feat(rc-worm)!: manage object lock, retention, and legal hold by @cxymds in #276
- feat(rc-bucket)!: implement verified bucket creation options by @cxymds in #284
- feat(rc-admin)!: add scanner, storage, and metrics diagnostics by @cxymds in #297
- feat(rc-admin)!: add read-only RustFS KMS inspection by @cxymds in #278
- feat(rc-admin)!: add safe RustFS KMS key lifecycle mutations by @cxymds in #279
- feat(rc-admin)!: add secure RustFS KMS configuration lifecycle by @cxymds in #280
- feat(rc-admin)!: add non-exporting SSE-KMS round-trip diagnostic by @cxymds in #281
- feat(admin): classify RustFS diagnostic capabilities by @cxymds in #298
- feat(rc-admin)!: add bounded diagnostic snapshots by @cxymds in #285
- feat(rc-admin)!: add bounded client devnull diagnostics by @cxymds in #286
- feat(rc-admin)!: add safe server configuration management by @cxymds in #299
- feat(undo): restore versioned PUT and DELETE operations by @cxymds in #300
- feat(copy-core): add multipart server-side copy primitive by @cxymds in #301
- feat(copy): add recursive same-endpoint remote copy by @cxymds in #302
- feat(core): add transfer fidelity option models by @cxymds in #303
- feat(s3): round-trip object attributes and tags by @cxymds in #304
- feat(transfer): support truthful destination storage classes by @cxymds in #305
- feat(transfer): add checksum selection and verification by @cxymds in #306
- feat(transfer): add secure SSE-C source and destination keys by @cxymds in #307
- feat(transfer): apply retention and legal hold atomically by @cxymds in #308
- feat(cli): expose transfer fidelity controls by @cxymds in #309
- fix(rm): delete versions with explicit version IDs by @overtrue in #293
- feat(admin): add manual transition run command by @houseme in #310
- feat(ilm): pass manual transition duration budget by @houseme in #311
- feat(ilm): show already transitioned count by @houseme in #312
- feat(admin): report observed storage metrics safely by @cxymds in #315
- feat(completions): add safe user-level install by @cxymds in #313
- feat(transfer): add get and put compatibility aliases by @cxymds in #314
- feat(alias): add secret-safe export and import by @cxymds in #316
- feat(admin): add read-only OIDC inspection and validation by @cxymds in #317
- docs: publish mc compatibility and blocker matrix by @cxymds in #318
- feat(admin): inspect IAM policy entity mappings by @cxymds in #319
- feat(admin): add safe OIDC provider mutations by @cxymds in #320
- feat(admin): add typed IAM policy detach by @cxymds in #323
- feat(admin): safely delete OIDC providers by @cxymds in #322
- feat(multipart): list and abort incomplete uploads by @cxymds in #321
- feat(admin): add bucket metadata archive workflow by @cxymds in #324
- feat(admin): add safe IAM archive round trips by @cxymds in #325
- feat(admin): add bulk access-key inspection by @cxymds in #326
- feat(bucket)!: implement staged forced cleanup by @cxymds in #327
- feat(replication): add typed metrics and MRF inspection by @cxymds in #328
- feat(replication): render structured active checks by @cxymds in #329
- feat(diagnostics): retrieve encrypted inspect archives by @cxymds in #330
- feat(replication): add durable site repair lifecycle by @cxymds in #331
- test(admin): cover repair status id validation by @overtrue in #332
Full Changelog: v0.1.24...v0.1.30
Release v0.1.29
What's Changed
- fix(admin): report global heal operations status by @cxymds in #249
- docs(admin): document heal and rebalance workflows by @cxymds in #251
- test(cli): cover recursive prefix download paths by @overtrue in #252
- fix: harden CLI safety, S3 transport, and release workflows by @overtrue in #253
- docs(admin)!: clarify RustFS-only Admin API support by @overtrue in #254
- test(cp): cover symlink file download destination by @overtrue in #255
- fix(admin): show disabled heal runtime state by @overtrue in #256
- feat(admin): add service control and site replication commands by @overtrue in #257
- fix(admin): support root heal task status and stop by @cxymds in #258
- fix(admin): decode beta.9 response envelopes by @cxymds in #260
- fix(heal): honor explicit runtime state in status by @cxymds in #262
- test(admin): cover site replication add body by @overtrue in #263
- feat(admin): support service account updates by @cxymds in #264
- feat(admin): support inline service account policy JSON by @cxymds in #265
Full Changelog: v0.1.24...v0.1.29
Release v0.1.28
What's Changed
- fix(admin): report global heal operations status by @cxymds in #249
- docs(admin): document heal and rebalance workflows by @cxymds in #251
- test(cli): cover recursive prefix download paths by @overtrue in #252
- fix: harden CLI safety, S3 transport, and release workflows by @overtrue in #253
- docs(admin)!: clarify RustFS-only Admin API support by @overtrue in #254
- test(cp): cover symlink file download destination by @overtrue in #255
- fix(admin): show disabled heal runtime state by @overtrue in #256
- feat(admin): add service control and site replication commands by @overtrue in #257
- fix(admin): support root heal task status and stop by @cxymds in #258
- fix(admin): decode beta.9 response envelopes by @cxymds in #260
Full Changelog: v0.1.24...v0.1.28
Release v0.1.27
Highlights
This release closes the rc admin command gap identified in rustfs/backlog#1156: site replication and service control no longer require falling back to mc or SSH.
New: rc admin replicate — site replication management
rc admin replicate add site1 site2 # peer sites given as configured alias names
rc admin replicate info site1
rc admin replicate status site1 [--buckets|--users|--groups|--policies|--metrics]
rc admin replicate remove site1 --allVerified end-to-end against RustFS main: cluster setup, bucket/object/IAM replication across sites, status reporting, and cluster dissolution.
New: rc admin service — server process control
rc admin service restart local # graceful shutdown; process manager relaunches
rc admin service stop local
rc admin service freeze|unfreeze local # advisory on current server buildsrestart and stop perform a graceful shutdown via the RustFS admin API. Note that mc admin service stop does not work against RustFS (mc streaming-signs the request without content-length), so these native commands are the recommended path.
What's Changed
- test(cp): cover symlink file download destination by @overtrue in #255
- fix(admin): show disabled heal runtime state by @overtrue in #256
- feat(admin): add service control and site replication commands by @overtrue in #257
Full Changelog: v0.1.26...v0.1.27
Release v0.1.26
What's Changed
- fix(admin): report global heal operations status by @cxymds in #249
- docs(admin): document heal and rebalance workflows by @cxymds in #251
- test(cli): cover recursive prefix download paths by @overtrue in #252
- fix: harden CLI safety, S3 transport, and release workflows by @overtrue in #253
- docs(admin)!: clarify RustFS-only Admin API support by @overtrue in #254
Full Changelog: v0.1.24...v0.1.26
Release v0.1.25
What's Changed
Full Changelog: v0.1.24...v0.1.25
Release v0.1.24
What's Changed
- fix(admin): start full heal when bucket omitted by @cxymds in #243
- feat(cli): support replication target TLS options by @houseme in #245
- fix(cli): trim leading slash in download_prefix to prevent Path::join treating relative path as absolute by @ForestRealms in #247
- fix(admin): support manual heal task status by @cxymds in #248
New Contributors
- @houseme made their first contribution in #245
- @ForestRealms made their first contribution in #247
Full Changelog: v0.1.23...v0.1.24
Release v0.1.23
What's Changed
- feat(admin): expose rebalance cleanup warnings by @cxymds in #232
- feat(admin): add access key info command by @cxymds in #227
- test(admin): cover access key info CLI dispatch by @overtrue in #236
- feat(admin): expose background heal task status by @overtrue in #237
- fix(admin): report accurate heal stop status by @overtrue in #238
- feat(admin): add decommission clear command by @cxymds in #240
- fix(admin): align pool status usage source by @cxymds in #241
- feat(admin): support normalized pool status APIs by @cxymds in #242
Full Changelog: v0.1.22...v0.1.23