# MinIO Client RELEASE.2025-12-19T20-11-44Z

This release introduces comprehensive bucket inventory management capabilities, Quality of Service (QoS) configuration, and interactive cluster statistics visualization. Major UI improvements include migration to the Charmbracelet ecosystem for consistent terminal output, interactive TUIs for monitoring locks and analyzing telemetry traces, and enhanced status displays across administrative commands. New replication features include backlog management with checksum clearing, while identity management gains multi-LDAP support and OpenID interactive login.

## New Features

### Inventory Management

- Complete inventory lifecycle with generate, put, get, list, delete, status operations (#148)
- Control operations: cancel, suspend, resume for running jobs (#183)
- Real-time monitoring with `--all` and `--watch` flags across all buckets (#292, #287)
- Batch catalog to inventory migration command for YAML format conversion (#209)
- Terminal state detection for once vs periodic jobs with graceful job deletion handling (#293)

### Quality of Service

- Bucket-level QoS configuration with rule management (add, list, remove) (#80)
- YAML-based configuration export/import
- QoS status reporting per bucket

### Monitoring and Observability

- Interactive cluster statistics browser with keyboard navigation controls (#271)
- OpenTelemetry trace analysis with interactive TUI, encryption support, and JSON export (#227)
- Optimized telemetry analysis for large traces: early filtering, min-heap top-N tracking, lazy tree building (#234)
- Rebalance status speed metrics (objects/s and bytes/s) (#304)

### Replication

- Backlog management with `--clear-checksum` flag for clearing checksums on older MinIO versions (#310)
- Automated backlog replication triggering via HeadObject operations (#252)

### Identity and Access

- Multi-LDAP provider support for multiple directory service integration (#218)
- OpenID interactive login with `mc idp openid accesskey create-with-login` (#181)

### Administrative Commands

- Cluster name retrieval with `mc admin name get` (#165)
- Node cordoning and uncordoning for maintenance windows (#166)
- License update/renewal command with `--license` flag support (#188)
- Automated license synchronization from SUBNET API responses (#216)
- Heal operation `--scan uncommitted` for rapid multipart upload cleanup (#124)
- Update control: `--cancel` flag for stopping upgrades, `--rolling` for controlled restarts (#229, #189)
- Real-time upgrade monitoring with `--status` flag (#189, #193)

## Improvements

### User Interface

- Complete migration to Charmbracelet (lipgloss, bubbletea, tidwall/pretty) replacing legacy UI libraries (#233)
- Comprehensive help system with automated validation (`make helplint`), colorization, and CI/CD integration (#235)
- Interactive healing TUI with real-time progress, color-coded statistics, keyboard shortcuts (#199)
- Interactive locks monitoring TUI with unlock operations (#232)
- Enhanced admin info with reorganized layout and `--watch` flag (#198)
- Decommission status with detailed pool views, migration progress, speed, and ETA (#280)
- Performance testing UI with per-server statistics and live-updating aggregate rows (#297)
- Healing status section showing actively healing drives with progress and pool organization (#264)
- Idle feedback spinner for long-running `mc du` operations (#217)

### Operational

- Rolling upgrade support with automatic reconnection during node restarts (#187, #208)
- Drive offline tracking in verbose heal output (#135)
- Scanner status showing up to 5 excessive prefixes from last 24 hours (#171)
- Top API error filtering and S3 API name matching (#172)
- Top drive metrics using 1-minute windows for smoother output (#161)
- License capacity limits display in TiB format (#301)
- FREE license handling with "N/A" for empty fields and non-expiring licenses (#296)
- Recursive SQL queries on batch catalog and inventory output (#226)
- Object naming mode display in admin info (#180)

## Bug Fixes

### Critical

- Fixed crash in `mc od` processing empty files (divide by zero) (#309)
- Fixed temporary file cleanup when `mc mirror` interrupted (#263)

### JSON Output

- Valid JSON without informational messages in config-fix, ilm-tier-list, license-register, find (#272)

### Display

- Fixed alignment when colors disabled or output redirected (#265)
- Fixed empty `mc cp` output for quick operations (#236)
- Fixed alignment issues with newlines and coloring (61a5611, 5e8404c)

### Configuration

- Proper MINIO_CALLHOME_ENABLE environment variable detection with env source display (#286)

### Status Reporting

- Scanner status shows "not started" instead of incorrect timestamp (#266)
- Batch status correctly displays job states instead of always "Running" (#254)
- Fixed `mc stat` Anonymous field reporting (#211)

### Operations

- Prevented `mc du -r` freeze on objects with '/' in names (#214)
- Fixed error checking in name setting operations (#197)
- Fixed pool padding panic from invalid string repeat values (#220)

### Documentation

- Corrected QoS and `mc cp` help text (#275, #219)

---

## Container Images

- `quay.io/minio/aistor/mc:RELEASE.2025-12-19T20-11-44Z`
- `quay.io/minio/aistor/mc:latest`
- `quay.io/minio/aistor/mc:RELEASE.2025-12-19T20-11-44Z.fips`

## Downloads

### darwin-amd64

- [mc](https://dl.min.io/aistor/mc/release/darwin-amd64/archive/mc)
- [mc.RELEASE.2025-12-19T20-11-44Z](https://dl.min.io/aistor/mc/release/darwin-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z)
- [mc.RELEASE.2025-12-19T20-11-44Z.sha256sum](https://dl.min.io/aistor/mc/release/darwin-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.sha256sum)
- [mc.sha256sum](https://dl.min.io/aistor/mc/release/darwin-amd64/archive/mc.sha256sum)
- [mc.RELEASE.2025-12-19T20-11-44Z.asc](https://dl.min.io/aistor/mc/release/darwin-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.asc)
- [mc.RELEASE.2025-12-19T20-11-44Z.minisig](https://dl.min.io/aistor/mc/release/darwin-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.minisig)
- [mc.asc](https://dl.min.io/aistor/mc/release/darwin-amd64/archive/mc.asc)
- [mc.minisig](https://dl.min.io/aistor/mc/release/darwin-amd64/archive/mc.minisig)

### darwin-arm64

- [mc](https://dl.min.io/aistor/mc/release/darwin-arm64/archive/mc)
- [mc.RELEASE.2025-12-19T20-11-44Z](https://dl.min.io/aistor/mc/release/darwin-arm64/archive/mc.RELEASE.2025-12-19T20-11-44Z)
- [mc.RELEASE.2025-12-19T20-11-44Z.sha256sum](https://dl.min.io/aistor/mc/release/darwin-arm64/archive/mc.RELEASE.2025-12-19T20-11-44Z.sha256sum)
- [mc.sha256sum](https://dl.min.io/aistor/mc/release/darwin-arm64/archive/mc.sha256sum)
- [mc.RELEASE.2025-12-19T20-11-44Z.asc](https://dl.min.io/aistor/mc/release/darwin-arm64/archive/mc.RELEASE.2025-12-19T20-11-44Z.asc)
- [mc.RELEASE.2025-12-19T20-11-44Z.minisig](https://dl.min.io/aistor/mc/release/darwin-arm64/archive/mc.RELEASE.2025-12-19T20-11-44Z.minisig)
- [mc.asc](https://dl.min.io/aistor/mc/release/darwin-arm64/archive/mc.asc)
- [mc.minisig](https://dl.min.io/aistor/mc/release/darwin-arm64/archive/mc.minisig)

### linux-amd64

- [mc](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc)
- [mc.RELEASE.2025-12-19T20-11-44Z](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z)
- [mc.RELEASE.2025-12-19T20-11-44Z.sha256sum](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.sha256sum)
- [mc.sha256sum](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.sha256sum)
- [mcli-20251219201144.0.0-1.x86_64.rpm.sha256sum](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mcli-20251219201144.0.0-1.x86_64.rpm.sha256sum)
- [mcli_20251219201144.0.0_amd64.deb.sha256sum](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mcli_20251219201144.0.0_amd64.deb.sha256sum)
- [mcli_20251219201144.0.0_x86_64.apk.sha256sum](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mcli_20251219201144.0.0_x86_64.apk.sha256sum)
- [mc.RELEASE.2025-12-19T20-11-44Z.asc](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.asc)
- [mc.RELEASE.2025-12-19T20-11-44Z.minisig](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.minisig)
- [mc.asc](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.asc)
- [mc.minisig](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.minisig)
- [mc-enterprise.apk](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc-enterprise.apk)
- [mc-enterprise.deb](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc-enterprise.deb)
- [mc-enterprise.rpm](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc-enterprise.rpm)
- [mcli-20251219201144.0.0-1.x86_64.rpm](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mcli-20251219201144.0.0-1.x86_64.rpm)
- [mcli_20251219201144.0.0_amd64.deb](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mcli_20251219201144.0.0_amd64.deb)
- [mcli_20251219201144.0.0_x86_64.apk](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mcli_20251219201144.0.0_x86_64.apk)

### linux-amd64 (FIPS)

- [mc.RELEASE.2025-12-19T20-11-44Z.fips](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.fips)
- [mc.fips](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.fips)
- [mc.RELEASE.2025-12-19T20-11-44Z.fips.sha256sum](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.fips.sha256sum)
- [mc.fips.sha256sum](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.fips.sha256sum)
- [mc.RELEASE.2025-12-19T20-11-44Z.fips.asc](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.fips.asc)
- [mc.RELEASE.2025-12-19T20-11-44Z.fips.minisig](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.RELEASE.2025-12-19T20-11-44Z.fips.minisig)
- [mc.fips.asc](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.fips.asc)
- [mc.fips.minisig](https://dl.min.io/aistor/mc/release/linux-amd64/archive/mc.fips.minisig)

### linux-arm64

- [mc](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc)
- [mc.RELEASE.2025-12-19T20-11-44Z](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc.RELEASE.2025-12-19T20-11-44Z)
- [mc.RELEASE.2025-12-19T20-11-44Z.sha256sum](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc.RELEASE.2025-12-19T20-11-44Z.sha256sum)
- [mc.sha256sum](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc.sha256sum)
- [mcli-20251219201144.0.0-1.aarch64.rpm.sha256sum](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mcli-20251219201144.0.0-1.aarch64.rpm.sha256sum)
- [mcli_20251219201144.0.0_aarch64.apk.sha256sum](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mcli_20251219201144.0.0_aarch64.apk.sha256sum)
- [mcli_20251219201144.0.0_arm64.deb.sha256sum](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mcli_20251219201144.0.0_arm64.deb.sha256sum)
- [mc.RELEASE.2025-12-19T20-11-44Z.asc](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc.RELEASE.2025-12-19T20-11-44Z.asc)
- [mc.RELEASE.2025-12-19T20-11-44Z.minisig](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc.RELEASE.2025-12-19T20-11-44Z.minisig)
- [mc.asc](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc.asc)
- [mc.minisig](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc.minisig)
- [mc-enterprise.apk](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc-enterprise.apk)
- [mc-enterprise.deb](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc-enterprise.deb)
- [mc-enterprise.rpm](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mc-enterprise.rpm)
- [mcli-20251219201144.0.0-1.aarch64.rpm](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mcli-20251219201144.0.0-1.aarch64.rpm)
- [mcli_20251219201144.0.0_aarch64.apk](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mcli_20251219201144.0.0_aarch64.apk)
- [mcli_20251219201144.0.0_arm64.deb](https://dl.min.io/aistor/mc/release/linux-arm64/archive/mcli_20251219201144.0.0_arm64.deb)

### windows-amd64

- [mc.exe](https://dl.min.io/aistor/mc/release/windows-amd64/archive/mc.exe)
- [mc.exe.RELEASE.2025-12-19T20-11-44Z](https://dl.min.io/aistor/mc/release/windows-amd64/archive/mc.exe.RELEASE.2025-12-19T20-11-44Z)
- [mc.exe.RELEASE.2025-12-19T20-11-44Z.sha256sum](https://dl.min.io/aistor/mc/release/windows-amd64/archive/mc.exe.RELEASE.2025-12-19T20-11-44Z.sha256sum)
- [mc.exe.sha256sum](https://dl.min.io/aistor/mc/release/windows-amd64/archive/mc.exe.sha256sum)
- [mc.exe.RELEASE.2025-12-19T20-11-44Z.asc](https://dl.min.io/aistor/mc/release/windows-amd64/archive/mc.exe.RELEASE.2025-12-19T20-11-44Z.asc)
- [mc.exe.RELEASE.2025-12-19T20-11-44Z.minisig](https://dl.min.io/aistor/mc/release/windows-amd64/archive/mc.exe.RELEASE.2025-12-19T20-11-44Z.minisig)
- [mc.exe.asc](https://dl.min.io/aistor/mc/release/windows-amd64/archive/mc.exe.asc)
- [mc.exe.minisig](https://dl.min.io/aistor/mc/release/windows-amd64/archive/mc.exe.minisig)

## Changelog

[View changes since RELEASE.2025-08-29T21-30-41Z](https://github.com/miniohq/ec/compare/RELEASE.2025-08-29T21-30-41Z...RELEASE.2025-12-19T20-11-44Z)
