MinIO RELEASE.2019-12-17T23-16-33Zstable Released Dec 18, 2019
โš ๏ธ Breaking Change Impact Score: 7/10

MinIO: Major Feature Release

Source available โ€” automated, not human-reviewed

Component: minio ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Breaking-change evidence from the source

  • - **Breaking Change** Lots of new features have been implemented, so rolling upgrade is not supported. Please upgrade all servers. Also, `mc` version `RELEASE.2019-12-17T23-26-28Z` is required to talk to this version of MinIO.
Read the original context โ†—
Source flags breaking changes โ€” review applicability
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

MinIO RELEASE.2019-12-17T23-16-33Z. Source highlight: **Breaking Change** Lots of new features have been implemented, so rolling upgrade is not supported. Please upgrade all servers. Also, `mc` version `RELEASE.2019-12-17T23-26-28Z` is required to talk to this version of MinIO.

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โš ๏ธ Breaking Changes & Deprecations (1)

  • - **Breaking Change** Lots of new features have been implemented, so rolling upgrade is not supported. Please upgrade all servers. Also, `mc` version `RELEASE.2019-12-17T23-26-28Z` is required to talk to this version of MinIO.

โœจ New Features & Capabilities (6)

  • **Breaking Change** Lots of new features have been implemented, so rolling upgrade is not supported. Please upgrade all servers. Also, `mc` version `RELEASE.2019-12-17T23-26-28Z` is required to talk to this version of MinIO.
  • Add bucket expansion feature. See (#8509) for more details.
  • Add data usage admin API. See (#8553) for more details.
  • add minio/keys KMS integration (#8631) (12/13/19)
  • Add encryption buffer (#8626) (12/12/19)
  • Add bucket and object count along with total object size (#8639) (12/12/19)

โšก Performance & Enhancements (6)

  • Improvements to S3 Select. See (#8464, #8456, #8457, #8608, #8610) for more details.
  • Improvements to self healing. See (#8462, #8114) for more details.
  • Improvements to ListenBucketNotification API
  • Improvements to caching. See (#8599, #8619) for more details.
  • Enhance ListObjectsV2 API to return UserDefined metadata (#8539) (11/21/19)
  • Improve access and secret key validation error, sync with implementation (#8516) (11/14/19)

๐Ÿ”ง Bug Fixes & Patches (6)

  • fix: populate buckets on etcd after config has loaded (#8658) (12/17/19)
  • Fix crash in console logger and also handle bucket DNS updates (#8654) (12/16/19)
  • Fix aws-sdk-php functional test cases for GCS gateway (#8613) (12/16/19)
  • fix: Don't allow to set unconfigured notification ARNs (#8643) (12/13/19)
  • fix: CacheOpts parsing tests (#8632) (12/11/19)
  • Fix k8s replica set deployment (#8629) (12/10/19)
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
## Highlights - **Breaking Change** Lots of new features have been implemented, so rolling upgrade is not supported. Please upgrade all servers. Also, `mc` version `RELEASE.2019-12-17T23-26-28Z` is required to talk to this version of MinIO. - Support for new key value style configuration format. See (#8392, #8474, #8600) for more details. - Add bucket expansion feature. See (#8509) for more details. - Remove 32 node limit. See (#8492) for more details. - Integrate Minio's KES. See (#8631) for more details. - Improvements to S3 Select. See (#8464, #8456, #8457, #8608, #8610) for more details. - Improvements to self healing. See (#8462, #8114) for more details. - Improvements to ListenBucketNotification API - Support for Object lock retention. See (#8528) for more details. - Add data usage admin API. See (#8553) for more details. - Refactoring of Prometheus metrics scraped from MinIO. See(#8003) for more details. - ListObjectsV2 extension to return userdefined Metdata. See (#8539) for more details. - Improvements to caching. See (#8599, #8619) for more details. ## Changelog - fix: populate buckets on etcd after config has loaded (#8658) (12/17/19) - Allow metadata updates on meta bucket even in WORM mode (#8657) (12/17/19) - PutBucketLifeCycleConfiguration: Return 200 instead of 204 (#8656) (12/17/19) - Fix crash in console logger and also handle bucket DNS updates (#8654) (12/16/19) - Fix aws-sdk-php functional test cases for GCS gateway (#8613) (12/16/19) - Remove safe mode for invalid entries in config (#8650) (12/14/19) - Always use SourceIP for host target filtering (#8649) (12/14/19) - PutBucket: Case-insensitive validation of x-amz-bucket-object-lock-enabled (#8648) (12/13/19) - add minio/keys KMS integration (#8631) (12/13/19) - fix: Don't allow to set unconfigured notification ARNs (#8643) (12/13/19) - Remove old ListenBucketNotification API (#8645) (12/13/19) - Allow empty target KVS for notification targets (#8644) (12/12/19) - Clear cache if reverting to backend (#8637) (12/12/19) - Reject mandatory KVS if not set for any sub-sys (#8641) (12/12/19) - Support ListenBucketNotificationV2 streaming (#8622) (12/12/19) - Add encryption buffer (#8626) (12/12/19) - Add bucket and object count along with total object size (#8639) (12/12/19) - Start using custom HTTP transport for webhook endpoints (#8630) (12/12/19) - Add data usage collect with its new admin API (#8553) (12/12/19) - Bucket,Object count & Usage removed if set to default (#8638) (12/11/19) - Avoid crashes on peers if IAMSys is not initialized (#8636) (12/11/19) - Admin Info: Modify Uptime to return seconds (#8635) (12/11/19) - Doc: change url for Total Population CSV (#8633) (12/11/19) - New Admin Info (#8497) (12/11/19) - fix: CacheOpts parsing tests (#8632) (12/11/19) - Add randomize sleep times for lock checkers (#8628) (12/11/19) - Fix k8s replica set deployment (#8629) (12/10/19) - Add command to list added lifecycle configurations (#8627) (12/10/19) - S3 Select: Concurrent LINES delimited json parsing (#8610) (12/09/19) - Retry peer notification of events (#8621) (12/09/19) - Cache only the range requested for range GETs (#8599) (12/08/19) - Fix cache hit metrics. (#8617) (12/07/19) - Use atomic.Uint64 for gateway metrics count instead of mutex (#8615) (12/07/19) - Add support for missing Cache-Control directives (#8619) (12/07/19) - Update help messages with new wording (#8616) (12/06/19) - S3 Select: Mismatched types don't match (#8608) (12/06/19) - GetKVS should add new keys automatically, preserve order (#8612) (12/06/19) - Add Support for Cache and S3 related metrics in Prometheus endpoint (#8591) (12/05/19) - Support TLS auth for Kafka notification target (#8609) (12/05/19) - Ensure comment is always a valid key (#8604) (12/05/19) - Final changes to config sub-system (#8600) (12/04/19) - Export command prints turned-off sub-sys as comments (#8594) (12/03/19) - Enable build verification with race (#8583) (12/02/19) - Update Azure Gateway to azure-storage-blob SDK (#8537) (12/02/19) - Start using error wrapping with fmt.Errorf (#8588) (12/02/19) - Add client_id support for OpenID (#8579) (11/29/19) - Print goroutines when shutdown hangs (#8574) (11/29/19) - Honor DurationSeconds properly for WebIdentity (#8581) (11/29/19) - posix: cache disk ID for a short while (#8564) (11/29/19) - Fix the regression introduced in #8580 (11/27/19) - Add ReadFrom,WriteTo helpers for server config (#8580) (11/27/19) - Cache Windows mount point info (#8572) (11/27/19) - Handle localhost distributed setups properly (#8577) (11/26/19) - Repurpose Get/SetConfig as import/export support (#8578) (11/26/19) - Add lock expiry handler to expire state locks (#8562) (11/25/19) - Add etcd path prefix for all IAM assets (#8569) (11/25/19) - Fix retention enforcement in Compliance mode (#8556) (11/25/19) - Preserve client sent config appropriately (#8566) (11/22/19) - Add bootstrap REST handler for verifying server config (#8550) (11/22/19) - Use random file name for write check (#8563) (11/22/19) - minimum Go version 1.13 (#8561) (11/22/19) - Do not rely on quorum for StorageInfo() (#8557) (11/21/19) - Log in with OIDC not work with MINIO_DOMAIN (#8558) (#8559) (11/21/19) - Fix healing on multiple zones (#8555) (11/21/19) - Add NTP retention time (#8548) (11/21/19) - Avoid pointer based copy, instead use Clone() (#8547) (11/21/19) - Enhance ListObjectsV2 API to return UserDefined metadata (#8539) (11/21/19) - Handle indexes correctly in DeleteMultipleObjectsHandler (#8544) (11/20/19) - Fix typo in event name (#8545) (11/20/19) - Order all keys in config (#8541) (11/20/19) - Add object retention at the per object (#8528) (11/20/19) - Fix heal result item output to properly count drives and sets (#8543) (11/20/19) - Preserve same deploymentID on all zones (#8542) (11/20/19) - Implement bucket expansion (#8509) (11/19/19) - Initialize local nsLocker for gateway instances (#8540) (11/19/19) - Add help with order of keys (#8535) (11/19/19) - Add support for multiple admins (#8487) (11/19/19) - Do not add comments after migration (#8530) (11/16/19) - Fix cache locking to use local namespace locking (#8529) (11/16/19) - NATS TLS specify CA and client TLS authentication (#8389) (11/15/19) - Fix regression in caching on single PUT (#8526) (11/15/19) - Improve access and secret key validation error, sync with implementation (#8516) (11/14/19) - Fix console logger crash in gateway mode (#8525) (11/14/19) - Remove read-ahead for small files (#8522) (11/14/19) - Fix runtime panic in BackendDisks.Merge() (#8524) (11/14/19) - Fix review comments and new changes in config (#8515) (11/13/19) - fs: Fix setting new deployment ID in format when not present (#8517) (11/13/19) - Support MinIO to be deployed on more than 32 nodes (#8492) (11/13/19) - Add restrictions of object retention to AWS S3 limits (#8514) (11/13/19) - Update web-identity example to use minio-go SDK (#8501) (11/13/19) - Add Get/Put Bucket Lock Configuration API support (#8120) (11/12/19) - Handle port as json.Number for DNS records in etcd (#8513) (11/12/19) - Honor etcd legacy v/s new config settings properly (#8510) (11/12/19) - Indicate backend encrypted only if encryption is requested (#8508) (11/11/19) - Config migration should handle plain-text (#8506) (11/11/19) - fix loading config from openid config_url (#8503) (11/11/19) - Bring in safe mode support (#8478) (11/09/19) - S3 Select: Convert CSV data to JSON (#8464) (11/09/19) - Load certs even if they are symlinks (#8494) (11/08/19) - Fix JSON Close data race. (#8486) (11/05/19) - Enhance config restore to carry previous set content as well (#8483) (11/05/19) - lifecycle: Send delete notification when deleting objects (#8416) (11/04/19) - Return appropriate errors API versions changes across REST APIs (#8480) (11/04/19) - Avoid ListBuckets() call instead rely on simple HTTP GET (#8475) (11/01/19) - Migrate all backend at .minio.sys/config to encrypted backend (#8474) (11/01/19) - Do not append the endpoint for fs/xl disks in StorageInfo (#8472) (10/31/19) - admin API: change returned HTTP error in hardware info (#8471) (10/30/19) - Extend further validation of config values (#8469) (10/30/19) - Move all List calls to honor new maxObjectList limit (#8459) (10/30/19) - xl: Fix locking in xl HealObject (#8455) (10/30/19) - S3 Select: Detect full object (#8456) (10/30/19) - Add etcd part of config support, add noColor/json support (#8439) (10/30/19) - Select: Support Square Bracket Lists (#8457) (10/30/19) - Return appropriate error if user,group,policy doesn't exist (#8465) (10/29/19) - madmin: update sio version and use `Algorithm` constants (#8463) (10/29/19) - heal: Remove daily sweeper code (#8462) (10/29/19) - refine NextMarker comments (#8450) (10/28/19) - fix browser blank page on gateways (#8453) (10/28/19) - Increase maximum 1000 List keys to 10000 (#8444) (10/28/19) - xl: Rewrite auto-healing and implement auto new-disk healer (#8114) (10/28/19) - Fix panic during trace requests (#8448) (10/27/19) - Detect underlying disk mount/unmount (#8408) (10/25/19) - Fix typo in prometheus getBucketLocation metrics (#8438) (10/23/19) - Use sanitized raw link for logo.svg in README (#8436) (10/23/19) - Fix README.md link to logo.svg (10/23/19) - Migrate config to KV data format (#8392) (10/22/19) - The prometheus metrics refractoring (#8003) (10/22/19) - cache: do not evict entry on ErrClosedPipe (#8432) (10/22/19) - Deprecate listDirFactory in HealObjects, rely on ListObjectsHeal (#8419) (10/22/19) - Ensure actual object size is sent in notification (#8418) (10/20/19) - xl: Fix isObject() to consider not found disks (#8411) (10/18/19) - Fix browser showing compressed instead of actual object size (#8412) (10/18/19) - Remote update should be on by default (#8413) (10/17/19) - Add network hardware info (#8358) (10/17/19) - Fix regression in admin router when no route matches (#8409) (10/16/19) - fs: Remove stale background append temporary file (#8404) (10/17/19) - Remove cache env from server help message (#8405) (10/16/19) - Add support for {jwt:sub} substitutions for policies (#8393) (10/16/19) - Improve MQTT token registration retry (#8397) (10/15/19) - Remove unusued params and functions (#8399) (10/15/19) - madmin: Migrate to provable secure channel construction (#8395) (10/15/19) - Use errgroups instead of sync.WaitGroup as needed (#8354) (10/14/19) - Fix build issues with event target logger (10/11/19) - Allow logging targets to be configured to receive `minio` (#8347) (10/11/19)