AIStor Server Release Notes

This page documents release notes from the last 6 calendar months of AIStor Server releases.

RELEASE.2025-05-30T11-03-39Z

What’s Changed

Misc. Fixes and Improvements

  • make sure to use uncached DiskInfo() to skip drives by @harshavardhana
  • combine cleanup of part.N and part.N.meta into RenamePart() by @harshavardhana
  • Check error when creating Elastic index by @dvaldivia
  • CompleteMultipart scenario with delays across nodes by @shtripat
  • grid: Avoid goroutine leak when the handler crashes by @vadmeste
  • heal: HealObject to use write lock only during data commit by @vadmeste
  • fix: panic moveToTrash when drive is almost full by @jiuker
  • Fix wait time regression with batch catalog tests by @shtripat

RELEASE.2025-05-28T20-17-15Z

What’s Changed

Misc. Fixes and Improvements

  • Allow users to opt out of the cleanup during decommission by @harshavardhana
  • Include license id in cluster registration info by @anjalshireesh
  • Implement quicker detection when the bucket is empty, rather than listing by @harshavardhana
  • add retries to site replication tests by @poornas
  • fix: we should turn-off auditLogging for internal ops in Decom by @harshavardhana
  • Add checksum decoder by @klauspost
  • Increase wait time for site replication scenarios by @shtripat
  • fix bug in encrypted metadata causing JSON unmarshaling to fail by @aead
  • Add rotating trash prefixes by @klauspost
  • Revert “add faster detection if bucket is empty, instead of listing” + tests by @vadmeste
  • tests: increase all integration tests to timeout at 5minutes by @harshavardhana
  • fix bug in encrypted metadata causing JSON unmarshaling to fail by @aead

RELEASE.2025-05-23T21-45-54Z

What’s Changed

Misc. Fixes and Improvements

  • use non-blocking locks when it makes sense by @harshavardhana
  • Record successful reads and writes separately for drive health check by @marktheunissen
  • Security fix: Use audience sts.min.io by default to invoke Kubernes API TokenReview. by @ramondeklein
  • Move formatting related types and methods into a pkg by @krisis
  • ilm: ignore object not found errors during expiration by @krisis
  • Allow configuring of grid connPingInterval, to take nodes offline faster than the default by @marktheunissen
  • Add back the missing v4/object-summary admin API by @marktheunissen
  • s3: DeleteObject to succeed when no enough meta quorum AND one offline node by @vadmeste
  • Migrate Elasticsearch client from v7 to v9 by @sivanantham-gnanavel
  • deps: Update miniohq/ec to fix a server crash by @vadmeste
  • use mpCache support by default and when not S3ExpressZone by @harshavardhana
  • avoid serializing callers with iam.CheckKey() write locks by @harshavardhana
  • Verify LDAP configurations set for the cluster by @shtripat
  • admin: Clean up and revert two accidently removed APIs by @vadmeste
  • fallback on quotaConfig from older releases on existing buckets by @harshavardhana
  • s3: Add whitspaces to complete multipart upload API response by @vadmeste
  • More catalog batch job tests with filters by @shtripat
  • replication: add in progress metric and target info per node by @poornas

RELEASE.2025-05-20T20-30-00Z

What’s Changed

Highlighted Changes

  • Reduce write allocations significantly in certain setups by @klauspost

Misc. Fixes and Improvements

  • Add streaming readers/writers by @klauspost
  • Direct msgp to decode time.Time in UTC for all time values by @marktheunissen
  • Add Trino User-Agent for spark delete optimization by @poornas
  • Skip disabled target(s) for replication config updates by @poornas
  • fix checksum validation in AppendObject by @poornas
  • When a call to decryptPartsChecksums fails, log the object key that t… by @marktheunissen
  • Move storage.DeleteBulk to grid by @klauspost
  • Handle big folders better by @klauspost
  • Update console package by @cesnietor
  • iam: Do not reload at startup unless IAM data are mutated by @vadmeste
  • Fix O_DIRECT calls failing due to random buffer alignment & discarded buffers by @klauspost
  • scanner: Avoid racy double scanning of the same drive by @vadmeste
  • healthcheck: Make sure at least one peer is accessible by @vadmeste
  • Add tiered fanout calls by @klauspost
  • allow single drive per set for experimentation by @harshavardhana
  • make deletes immediate to share the latency with the API caller by @harshavardhana
  • feat: support object lock on existing buckets by @jiuker
  • Check start address of aligned buffers by @klauspost
  • Use license auth in callhome by @anjalshireesh
  • update all deps by @harshavardhana
  • Fix fanout “unknown mux handler” errors by @klauspost
  • repl: Set 15 minutes as a header timeout for replication requests by @vadmeste
  • provide non-blocking locks for local setups by @harshavardhana
  • add KMS key versions support for KES by @aead
  • allow max fd count to arbiter in-case requests per node is too high by @harshavardhana
  • Send only registration info in public trial by @anjalshireesh

RELEASE.2025-05-14T05-01-13Z

What’s Changed

Breaking Changes

  • Use references to aistor console by @allanrogerr

Misc. Fixes and Improvements

  • heal: Add WriteDists to XL meta version by @vadmeste
  • Return a user-friendly error when license in read-only phase by @dhananjaykrutika
  • fix delay between time-info of local vs peers by @anjalshireesh
  • use Walk() unsorted for DeleteBucket() check by @harshavardhana
  • Remove test log by @dhananjaykrutika
  • prometheus: Do not count dangling objects removal as healing error by @vadmeste
  • Multi pool support by @shtripat
  • Fix swapped input/output blocked telemetry by @klauspost
  • Use latest automation-go changes by @shtripat
  • Fix WriteAlignedTo write side hang on limit=-1 & cleanup by @klauspost
  • Do globalNotificationSys.DeleteUploadID async by @klauspost
  • Use ec instead of mc by @reivaj05
  • apply dynamic api config changes on chg by @poornas
  • Correct spelling by @shtripat
  • fix: holding locks for trackMultipleObjectVersions by @jiuker
  • move from unmaintained jsoniter -> go-json by @harshavardhana
  • updating object summary API by @zveinn
  • scanner: Speed up when a cluster has hundreds of empty buckets by @vadmeste
  • support versions list stack replicate between non-minio S3 and minio by @jiuker
  • Introduce new Admin API v4 by @harshavardhana
  • Remove timestamp from xl writes distribution by @vadmeste
  • Update minio/pkg to latest (v3.1.7) by @anjalshireesh
  • config: Fix unquoting configuration value by @vadmeste
  • fix hadoop User Agent for spark optimization by @poornas
  • add missing telemetry on few replication calls by @harshavardhana
  • Add more size interval to ttfb histogram by @poornas
  • test-fix: check MinIO health before running mc alias set by @sivanantham-gnanavel
  • fix: limit the version enable on both source and target for batch replication by @jiuker
  • use common buffer for pathJoin scanner for entire readDir() by @harshavardhana
  • fix fmt-gen to default console-address by @poornas
  • Add a test for hot drive swapping by @vadmeste
  • Allow selective buckets to skip scanning by @poornas
  • Add CreateSession API support for S3 Express by @harshavardhana
  • Added logic to capture replication diag info by @dhananjaykrutika
  • re-do pathJoin to use string builder instead of bufferpool by @harshavardhana

RELEASE.2025-05-01T19-17-09Z

What’s Changed

Highlighted Changes

  • add S3 Express based unsorted listing by @harshavardhana

Misc. Fixes and Improvements

  • add CommitXL API for safer PUTs on unversioned buckets by @harshavardhana
  • add support for SSE Append() by @harshavardhana
  • use unsorted walk() for IAM reload, replication resync by @harshavardhana
  • Move generation tools to go.mod by @klauspost
  • CI: sep. jobs for make test & make test-race by @donatello
  • ObjectSummary API Update by @zveinn
  • Move plugin authZ and authN to IAMSys by @donatello
  • fix tracked delete cleanup by @poornas
  • support autogenerated credentials for KMS_SECRET_KEY properly by @harshavardhana
  • Fix incorrect skipping of tests in SFTP tests by @donatello
  • Add object speedtest tracing by @klauspost
  • chore: use incremental port for console instead of random by @sivanantham-gnanavel
  • Adding missing configuration help values by @zveinn
  • Use more “official” OpenTelemetry keys. by @klauspost
  • feat: Add JSON output format to catalog jobs by @donatello
  • internodes: Remove healthcheck and use grid to mark nodes offline by @vadmeste
  • xl: Re-initialize failed local drives by @vadmeste
  • fix: append() on plain-text objects by @harshavardhana
  • Enable the format.bin check with latest MinIO by @shtripat
  • batch: Update current object when storing in the drives by @vadmeste
  • Use latest version of miniohq/license by @anjalshireesh
  • cleanup iam: simplify store api + fixes by @donatello
  • Remove replace by @klauspost
  • Remove unused parameter ‘spent’ by @marktheunissen
  • Store cached token revokes in xsync.MapOf by @taran-p
  • Add Compression: on|off option for batch catalog by @donatello
  • kms: add support for computing MACs with MinKMS by @aead
  • Add encrypted buffer reuse by @klauspost
  • heal: Avoid disabling scanner healing in single and dist erasure mode by @vadmeste
  • actually run integration tests on mint runners by @harshavardhana
  • batch: Do not resume a failed job by @vadmeste
  • update specific dependencies to fix more relevant bugs by @harshavardhana
  • fix: batch expiry job doesn’t report delete marker in batch-status m… by @jiuker
  • move away from GitHub CI/CD for extensive tests by @harshavardhana
  • s3: Strict matching for null versions during GET and Copy Object by @vadmeste
  • Add a postgres timeout of 30s, to avoid hanging and blocking MinIO by @marktheunissen
  • fix: return an appropriate error for AppendObject() under regular S3 by @harshavardhana
  • Migrate SSEC site replication test to new framework by @shtripat
  • sr: fix possible race b/w site removal and bucket replication config … by @poornas
  • skip partInfo for all versions in fileInfo serialization by @harshavardhana
  • fix: missing validation in IAM load secret key by @donatello
  • Update pkg version by @reivaj05
  • move some tests out of mint runners by @harshavardhana
  • Fix typo that causes update via HTTP to fail by @ramondeklein
  • Added a README for integration tests by @shtripat
  • Make server stop process a cleanup routine by @taran-p
  • Fix openID authentication issue by @taran-p
  • Refactor to reuse common code in tests by @shtripat
  • sync: allow concurrent aborts on active uploadParts() by @jiuker
  • cleanup: Simplify global Erasure/Dist/SD usage by @vadmeste
  • heal: Resume healing when there is an error with listing by @vadmeste
  • tests: wait for site replication to init after restart by @poornas
  • replication: replay last queued entries on node restart by @poornas
  • Migrate SSE KMS based site replication test by @shtripat
  • Update AIStor Assets to v0.0.10 by @dvaldivia
  • fix: networking for mint tests and re-enable them by @harshavardhana
  • Test multi site replication with MinIO IDP by @shtripat
  • s3: Consistent returning of tagging/object locking information by @vadmeste
  • Allow specifying a psql schema with the table name by @ramondeklein

RELEASE.2025-04-17T21-01-37Z

What’s Changed

Security Fixes

  • Bump up to 1.24.2 for security issue by @donatello

Misc. Fixes and Improvements

  • move IAM data loading to the background by @donatello
  • implement Walk() an iterator based walker instead of channels by @harshavardhana
  • decom: Avoid objects without enough quorum by @vadmeste
  • Implementing ObjectSummary API by @zveinn
  • Update aistor and operator paths by @reivaj05
  • Use ringbuffer in ODirect CopyAligned by @klauspost
  • Add testing for periodic/delayed startup IAM routines by @taran-p
  • Update the license for integration tests by @shtripat
  • repl: add tests for tracked delete cleanup by @poornas
  • heal: Do not reset .healing.bin after upgrade from MinIO OSS by @vadmeste
  • Add itertools internal package by @donatello
  • fix ReplicationStatus returned to diff by @poornas
  • Fix buffered streams missing final entries by @klauspost
  • Add more distributed tracing by @klauspost
  • Fix helm security issue by @donatello
  • xl: Ignore getattr error during migration to format.bin by @vadmeste
  • hotfix: Fix Minio hotfix binary path while building docker image by @vadmeste
  • Fix data race in periodic routine tests by @taran-p
  • fix: marker with last entry must be only for ILM by @harshavardhana
  • Align data and parity blocks to erasure set size by @allanrogerr
  • simplify multi-site tests by @poornas
  • Fix blank page when launching console with old assets by @reivaj05
  • Fix Hadoop user-agent check for spark optimization by @poornas
  • Add RPC Stream Telemetry by @klauspost
  • Added integration test for CVE-2025-31489 by @shtripat
  • re-implement queueStore to be more memory efficient by @harshavardhana
  • Add requestNode/requestHost separately for querying by @harshavardhana
  • register dummy handlers for APIs to return proper errors by @harshavardhana
  • fix: re-add back the queue_dir items to be replayed properly by @harshavardhana
  • Ignore error text in logonce by @klauspost
  • Enabled testifylint for integration tests by @shtripat
  • LIMIT 1 otherwise very large event tables cause the SELECT query to h… by @marktheunissen
  • Add tests to verify prometheus access is allowed by @taran-p
  • Report license validation status in logger webhook by @allanrogerr
  • Updated Controller & Operator with latest code by @bexsoft
  • Initial batch catalog implementation by @donatello
  • Update aistor controller and operator version by @cesnietor
  • Prevent random generation of restricted access keys by @taran-p
  • Fix shared error buffer by @klauspost
  • Revert Report license validation status in logger webhook by @allanrogerr
  • tracked delete: decode dir object by @poornas
  • Add New Accesskey Info and OpenID Accesskey List API endpoints by @taran-p

RELEASE.2025-04-07T20-05-12Z

What’s Changed

Misc. Fixes and Improvements

  • re-use chunked payload buffers for signed/unsigned by @harshavardhana
  • fix: healing to list, purge dangling objects by @harshavardhana
  • fix: listParts crash when partNumberMarker is unexpected by @harshavardhana
  • hide server info to return redacted auth_token by @harshavardhana
  • ilm: Expect objects with only free versions when scanning by @krisis
  • testLog: add error log when TestSiteReplicationMultiSiteWithLDAP fail… by @jiuker
  • audit queue review/fixes by @zveinn

RELEASE.2025-04-03T14-53-07Z

What’s Changed

Security Fixes

  • make sure to validate signature unsigned trailer stream by @harshavardhana

Misc. Fixes and Improvements

  • the resource leak can occur when drive Close() is called by @harshavardhana
  • fix: license init in test + print goroutine count by @donatello
  • More distributed tracing info+fixes by @klauspost
  • fix: add more context and a racy update of deploymentID by @harshavardhana

RELEASE.2025-03-31T22-43-59Z

What’s Changed

Highlighted Changes

  • Move from S2 to MinLZ Compression by @klauspost

Misc. Fixes and Improvements

  • rename express flag --proto=S3Express instead by @harshavardhana
  • preserve proper nodeName and sitename in audit logging by @harshavardhana
  • formatting: handle peer response with incorrect pool indices by @krisis
  • Fix up transport type asserts by @klauspost
  • Add support to delete all versions of an object if configured. by @poornas
  • avoid repeated logging for rejected hosts in grid by @harshavardhana
  • Add running go routines report at end of tests by @donatello

RELEASE.2025-03-29T19-13-44Z

What’s Changed

Highlighted Changes

  • Support append object behavior from S3 Express Zone by @harshavardhana
  • Add OpenTelemetry distributed tracing by @klauspost

Misc. Fixes and Improvements

  • Upgrade aistor-operator (fixes go list issues) by @ramondeklein
  • fix: incorrect filePath passed into cacheGet for List() by @harshavardhana
  • Fix periodic routine that clears expired token revokes. by @taran-p
  • Add batch job integration test by @donatello
  • fix: Cleanup heal routines when context is done by @donatello
  • Add retries, errors and downtime count to replication stats by @Praveenrajmani
  • Upgrade AIStor embedded console by @ramondeklein

RELEASE.2025-03-27T23-09-45Z

What’s Changed

Highlighted Changes

  • replace BORINGCRYPTO with Go 1.24 FIPS 140-3 module by @aead
  • move batch_replication list quorum as valid config entry by @harshavardhana
  • support non-blocking locking behavior for responsive APIs by @harshavardhana
  • fix: move background workers as standard config by @harshavardhana
  • Disallow object creation in read-only license phase by @dhananjaykrutika
  • feat: Support S3 express zone requirements by @harshavardhana
  • Add new API endpoint to revoke STS tokens by @taran-p

Misc. Fixes and Improvements

  • Enable use of AISTOR console by @ramondeklein
  • Update AIStor dependency to address crash by @dvaldivia
  • Require license for CI testing by @allanrogerr
  • Added LDAP tests by @shtripat
  • make internode WriteBufferSize, ReadBufferSize configurable by @harshavardhana
  • do not use ListObjects() for config history listing use Walk() by @harshavardhana
  • check for errors on bitrotWriter Close() by @harshavardhana
  • Update queue count for large deletes by @dhananjaykrutika
  • Increase timeout for integration tests by @shtripat
  • pass the appropriate error for ringbuffer by @harshavardhana
  • MinIO test with huge svcaccts using go framework by @shtripat
  • Add forced types and whitespace lint by @klauspost
  • Fix policy detach on non-normalized LDAP users by @taran-p
  • fix: setting credentials during config migrate is not necessary by @harshavardhana
  • simplify batch replicate for snowball and regular use-cases by @harshavardhana
  • Allow STS accounts to get info about themselves by @taran-p
  • Don’t enqueue objects for expiry during listing by @krisis
  • fix: tags copy when batch from remote s3 to local by @jiuker
  • fix: data race in bucket event target initialization by @harshavardhana
  • fix: add initial configuration and role management for console UI in standalone mode by @dvaldivia
  • Move VersionPurgeStatusType into replication package by @krisis
  • fix: completed batch job restarting by @donatello
  • fix: return policies for k8s, assumeRoleWithCert STS accounts by @harshavardhana
  • Add startup routine to check for non-normalized DNs by @taran-p
  • Capture only data partitions in health report by @anjalshireesh
  • Enable callhome by default by @anjalshireesh
  • heal: Avoid recreating a bucket without quorum by @vadmeste
  • enable zero-copy sendfile() support when enabled for READs by @harshavardhana
  • fix: data race in concurrent access to failureFile by @harshavardhana
  • sr: avoid bucket metadata heal stopping prematurely by @poornas
  • Update SRSvcAccCreate with new type by @taran-p
  • convert few _MINIO envs to standard config entries by @harshavardhana
  • Skip kubernetes injected env vars by @allanrogerr
  • add fadvise to expunge page-cache on Linux by @harshavardhana
  • update all deps for CVEs by @harshavardhana
  • do not enable callhome if server is not registered by @harshavardhana
  • fix: SFTP auth bypass with no pub key in LDAP by @donatello
  • All integration tests must wait for MinIO to be ready by @harshavardhana
  • Add GetObjectAttributes checksum type by @klauspost
  • Disassociate healtracker data and internals by @klauspost
  • Batch replication tests with multiple prefixes by @shtripat
  • scanner healing can skip checking for object heal on non-existent pools by @harshavardhana
  • cleanup: batch job funcs using unnecessary params by @donatello
  • Added multi site replication tests with LDAP by @shtripat
  • ci: Disable unstable test by @klauspost
  • Update multi site replication tests with LDAP by @allanrogerr
  • Updated AIStor package to v0.0.3 by @bexsoft
  • update integration tests dependencies by @harshavardhana
  • heal: Remove empty directories during the drive scanning by @vadmeste
  • s3: Fix early listing stopping when ILM is enabled by @vadmeste
  • Wait for deadline till bucket replication reflected by @shtripat
  • Fix prometheus authentication issue by @taran-p
  • support XXH3 bitrot algorithm for low-end CPUs by @harshavardhana
  • Add threshold based goroutine and memory dumps by @klauspost
  • Creating an atomic time load using int64 by @zveinn
  • fix: save job report in batch start handler by @donatello
  • test: Add tests for checkAbandonedFolder() by @vadmeste
  • fix: avoid crash in globalDriveMgr if its not initialized by @harshavardhana
  • Bugfix: GRPC not starting, pass the AISTOR_CERTS_DIR env var by @pjuarezd
  • decom: Ignore not found buckets by @vadmeste
  • release re-used buffers ASAP instead of defer by @harshavardhana
  • cleanup: Simplify renameData() and writeAllMetadataWithRevert() by @vadmeste
  • save IOPs for every GetObject() on multi-pool setups by @harshavardhana
  • drive heal if we have enough success, do not error setList() by @harshavardhana
  • Disable network server by @ramondeklein
  • make sure MRF honors the selected poolIndex, setIndex value by @harshavardhana
  • Update minio/pkg, madmin-go, etc by @donatello
  • Use /minio/health/cluster for readiness by @shtripat
  • use single loop for all endpoints by @harshavardhana
  • By default set MINIO_CALLHOME_ENABLE=off for tests by @shtripat
  • Fix checksum issue during updates by @ramondeklein
  • Capture license info in health diagnostics by @anjalshireesh
  • make sure to skip the pool properly in HealObject() for success by @harshavardhana
  • Add batch job generate + list job types handler by @donatello
  • Returning errFileCorrupt to trigger healing by @zveinn
  • allow locking to be at max 5 distinct nodes by @harshavardhana
  • use pathJoin instead of path.Join where its relevant by @harshavardhana
  • run health check before reading pool.bin by @harshavardhana
  • Do not prefer a pool that has 95% of filled inodes by @vadmeste
  • fix: CVE https://pkg.go.dev/vuln/GO-2025-352 by @harshavardhana
  • Migrate range download test to go framework by @shtripat
  • Adding timeout and entry info for dir cleanup that is timing out by @zveinn
  • fix: racy update to globalLicenseInfo migrate to atomic.Pointer by @harshavardhana
  • Toggle notification of REPLICA event by @allanrogerr
  • read from the metadata cache when present for List() by @harshavardhana
  • fix: context usage in serverPools init by @harshavardhana
  • Update aistor version to v0.0.4 by @cesnietor
  • fix: cleanup in test code to prevent leaks by @donatello
  • format-tests: Close StorageAPI after test by @krisis
  • fix: races in global variable initializations by @harshavardhana
  • fix: sharedLock should allow caller to abort by @donatello
  • Migrate golanglint-ci config to v2 by @donatello
  • fix: cleanup in tests by @donatello
  • Fix make build-dev failure by @dhananjaykrutika
  • Clarify error in TemporaryAccountInfo by @taran-p
  • Use updated AIStor console (incl AIStor PR #3764) by @ramondeklein
  • fix: leaderlock spinning when context is cancelled by @donatello
  • fix: resource setup and teardown in tests by @donatello
  • remove object layer init requirement in bootstrap by @harshavardhana
  • fix: passing context in config related functions by @donatello
  • Migrate total writes/deletes xattrs on format.json by @krisis
  • ILM: Fix evaluation of rules with NewerNoncurrentVersions by @krisis
  • Use AIStor v0.0.8 by @ramondeklein

RELEASE.2025-02-14T20-23-33Z

What’s Changed

Misc. Fixes and Improvements

  • Simplify the process of passing host names in notifications by @harshavardhana
  • Fix spellcheck error by @taran-p
  • Migrates tests from aistor-operator repo by @shtripat
  • Make format event details queryable by @krisis
  • remove cache set when reverting from xl.meta backup by @harshavardhana
  • reduce bucket event workers by 50% margin by default by @harshavardhana
  • fix: avoid gratuitous listing of completed batch job cleanups by @harshavardhana
  • tests: Enhance and add more tests from aistor-operator by @shtripat

RELEASE.2025-02-13T12-00-43Z

What’s Changed

Misc. Fixes and Improvements

  • Proper readiness check of KES deployment by @shtripat
  • fix: applying policies for k8s STS and assumeRoleWithCertificate by @harshavardhana

RELEASE.2025-02-12T23-22-31Z

What’s Changed

Highlighted Changes

  • Stop persisting STS and allow automatic derivation by @taran-p

Misc. Fixes and Improvements

  • sr: Fix healing of disabled groups by @poornas
  • re-use the globally allocated static byte pool memory by @harshavardhana
  • allow different binaries in a distributed setup when debugging by @harshavardhana
  • MinIO SNSD should stop if drive offline by @krisis
  • More detailed logging by @ramondeklein
  • Fix missing authorization check for PutObjectRetentionHandler by @ramondeklein
  • fix: usage of tempDir via t.TempDir() by @harshavardhana
  • fix: inadvertent BatchJobCancel parameter breakage by @donatello
  • Fix missing abandoned children map by @klauspost
  • fix: for SNSD setups notification group is empty by @harshavardhana
  • fix: maintenance check to mark health for local drives as local by @harshavardhana

RELEASE.2025-02-10T18-11-45Z

What’s Changed

Misc. Fixes and Improvements

  • Use a pooled entry for peeking by @klauspost
  • restore notification JSON with the previous format by @harshavardhana
  • Use optimized crc64nvme package by @klauspost

RELEASE.2025-02-08T17-57-25Z

What’s Changed

Misc. Fixes and Improvements

  • Update go toolchain to 1.23.6 by @donatello
  • Fixing dynamic config parsing by @zveinn
  • Add force option to re-add site replication config by @poornas
  • batch: simplify job info format handling + other fixes by @donatello

RELEASE.2025-02-06T18-14-59Z

What’s Changed

Misc. Fixes and Improvements

  • Allow enforcing STS to be generated and exchanged to client securely by @harshavardhana
  • Migrate CVE tests here from aistor-operator by @shtripat
  • Removed references of aistor-operator submodule by @shtripat
  • Add motivation section to format design doc by @krisis
  • Don’t generate files in current folder by @ramondeklein
  • sts: allow client-provided intermediate CAs by @aead
  • Update integrationtests go.mod dependencies by @JoelRuizRojas
  • enable ‘docker pause/unpause’ tests by @harshavardhana
  • Correct docs URL in server startup by @ravindk89
  • Audit regression fix by @zveinn
  • Permit backup and import of site-replicator service account. by @poornas
  • change TLS session cache size to match number of nodes by @harshavardhana
  • Use correct file paths fot stat by @shtripat
  • update all dependencies by @harshavardhana
  • Enable drive reformat test by @shtripat
  • Fixing file migrations by @zveinn
  • fix: multipart replication with single part objects (#20895) by @poornas
  • formatting: Add sleep between retries when quorum unavailable by @krisis

RELEASE.2025-02-04T00-52-01Z

What’s Changed

Highlighted Changes

  • This PR improves the kafka global event queue systems by @zveinn

Breaking Changes

  • Improve formatting drives in a MinIO cluster by @krisis

Misc. Fixes and Improvements

  • Small refactor - Prepping for larger event notification system refactor by @zveinn
  • do not need to add endpoint scheme for profile names by @harshavardhana
  • bitrot: Do not allow write() with changing buffer length by @vadmeste
  • heal: Heal an object in a suspended pool by @vadmeste
  • fix: Resume healing drive after node restart by @vadmeste
  • do not clone tier config for every scanner cycle() by @harshavardhana
  • heal: Do not heal a fresh drive in a decommissioning pool by @vadmeste
  • update deps by @harshavardhana
  • change all tests to use ‘minioadmin/minioadmin’ by @harshavardhana
  • kms: add MINIO_KMS_REPLICATE_KEYID option by @aead
  • fix: broken diagnostics information capturing by @harshavardhana
  • Base code for Bucket Event Queue + exporting Global Queue methods by @zveinn
  • Send folders with no objects to heal check by @klauspost
  • Another pass to further refine release note automation by @ravindk89
  • healthcheck: Fix reporting drives as healing by @vadmeste
  • scanner: Use timer instead of ticker to save bucket results by @vadmeste
  • extend expect timeouts for non-custom reader errors by @harshavardhana
  • update all dependencies by @harshavardhana
  • fix: superfluous formatting message, move it to bootstrap trace by @harshavardhana
  • Uniting webhook config validators into a single function by @zveinn
  • update tests to use 127.0.0.1 instead of localhost by @harshavardhana
  • fix: fmt-gen logging use internal logger by @harshavardhana
  • Added a docker based test framework using golang by @shtripat
  • Remove dependency on aistor-operator builds by @allanrogerr
  • Adding adjustments to fit the new kafka packages + fixing kafka confi… by @zveinn
  • fix: change force-delete to be normal bucket delete under conditions by @harshavardhana
  • fix: allow less quorum to format the drives by @harshavardhana
  • fix: netperf and speedtest missing self in the run by @harshavardhana
  • Simplify retry in waitForFormattingDrives by @krisis
  • abort healing for < 50% formatted drives per set, but with success by @harshavardhana
  • do not return client disconnected unless context was not canceled by @harshavardhana
  • batch: allow key rotation from sse-s3 <-> sse-kms by @poornas
  • fix: Make DeleteObjects more robust to complicated delete list by @vadmeste
  • do not allocate buffer without decoding in IAMImport API by @harshavardhana
  • Use latest aistor-operator image and code for CVE tests by @allanrogerr
  • Allow root access when site-replicator-0 is not present by @vadmeste
  • Make format-events available via admin trace by @krisis
  • use host instead of full URL for serverInfo, netPerf, speedTest by @harshavardhana
  • site replication: fix bucket deletion syncing by @poornas
  • update go deps by @harshavardhana
  • Purge LDAP policy mappings for DNs not under configured base DNs by @taran-p
  • provide hint when --license flag is missing by @harshavardhana
  • remove unused old function by @harshavardhana
  • fix: proxy requests to honor global transport by @Praveenrajmani
  • pass the transport to the GetProxyEndpoints function by @Praveenrajmani
  • workflow: move all workflows to go.mod version by @aead
  • batch: use at least one worker for batch jobs by @aead
  • Adding missing env prefix to enable variable by @zveinn
  • use assert helpers in integration tests by @shtripat
  • heal: Prioritize healing drive that started first in a given ES by @vadmeste
  • send failure audit only in authMiddleware by @harshavardhana
  • allow uncached DiskInfo() responses in drive healing by @harshavardhana
  • Reorganize batch framework code by @donatello
  • Multi node support (+other changes) by @ramondeklein
  • Enabled integration tests for CI by @shtripat
  • Redact sensitive fields from DescribeBatchJob by @harshavardhana
  • Add design docs for new format algorithm by @krisis
  • fix: ignore os.ErrNotExist errors and also close fd on event file by @harshavardhana

RELEASE.2025-01-17T05-24-29Z

What’s Changed

New Feature

  • Adding automated release notes and formatting by @ravindk89

Other

  • Run latest go based CVE tests from aistor-operator by @shtripat
  • No build and cache while tests by @shtripat
  • fix: bigcache rare test failure in cache.Close() by @harshavardhana
  • update github.com/minio/kms-go/kes to v0.3.1 by @aead
  • Added range download test scenarios by @shtripat
  • Remove local setup-go action as not used by @shtripat
  • More delimiter fixes (ListObjectVersions, delimiter skipping) by @klauspost
  • remove nil panic from kafka logger init() by @harshavardhana

RELEASE.2025-01-14T20-14-22Z

What’s Changed

  • batch: Resume resume sleep after start by @vadmeste
  • allow parity count to return ‘-1’ when not initialized by @harshavardhana

RELEASE.2025-01-14T11-09-45Z

What’s Changed

  • Use latest certs loaded by @shtripat
  • Add OriginalAction element to ListBucketsHandler by @taran-p
  • Fix data races in remove peer site by @krisis
  • scanner: Avoid freeze after an ES scan failure by @vadmeste
  • Add StopDelim to stop recursion when delimiter is found by @klauspost
  • Fix nil ptr deref in new kafka implementation by @marktheunissen
  • batch: Set last listed bucket/object in the info progress by @vadmeste

RELEASE.2025-01-07T09-10-02Z

What’s Changed

  • Require the access token sub/iss to be the same as the token id by @vadmeste
  • fix: endpoint string format for Netperf() by @harshavardhana
  • log site replication meta load errors by @poornas
  • heal: Retry healing from a list of failed objects by @vadmeste
  • fix drive cache metrics names by @kanagarajkm
  • add http3.0 support for all S3 API calls by @harshavardhana
  • Add ’edition’ in admin info & healthinfo response by @anjalshireesh
  • update deps to use new random reader source by @harshavardhana

RELEASE.2024-12-31T04-11-53Z

What’s Changed

  • fix: use stashBuffer allocated for the purpose by @harshavardhana
  • iam: IsAllowed to evaluate only svc claims when OpenID is enabled by @vadmeste
  • Add Go runtime metrics/profile by @klauspost
  • openid: Add support of getting user info regularly to update claims by @vadmeste
  • update deps madmin-go/v3, pkg/v3, minio/mux by @harshavardhana

RELEASE.2024-12-26T14-07-21Z

What’s Changed

  • fix: migration of old events for targets with no queue_dir set by @harshavardhana
  • Remove unnecessary vars by @allanrogerr
  • set parity to max if parity exceeds half of total drive count by @harshavardhana
  • Add a config to move dangling objects to a quarantine folder by @vadmeste

RELEASE.2024-12-21T04-40-25Z

What’s Changed

  • s3: PutObjectTagging to return 400 instead of 503 with bad XML by @vadmeste
  • migrate to franz-go library from sarama by @harshavardhana
  • Add resiliency tests by @allanrogerr

RELEASE.2024-12-18T04-41-02Z

What’s Changed

  • update miniohq/license with broken MINIO_LICENSE parsing

RELEASE.2024-12-17T02-09-18Z

What’s Changed

RELEASE.2024-12-13T13-42-41Z

What’s Changed

RELEASE.2024-12-04T03-01-19Z

What’s Changed

Misc. Fixes and Improvements

  • Remove unnecessary logs while parsing quota configuration by @harshavardhana
  • simplify trash folder deletion by @harshavardhana
  • Do not increase proxy metrics for replication proxy not found objects by @bazko1
  • Added tests for MinIO upgrade scenario by @shtripat
  • Use context.Background for async tier config load by @krisis
  • Re-enable resiliency mint tests, that docker pause a single node by @marktheunissen
  • iam: Fix the import of site-replicator-0 by @vadmeste
  • revert SlowDownRead/SlowDownWrite to SlowDown by @harshavardhana
  • Add batch metrics by @allanrogerr
  • Add targetArn label for bucket replication metrics by @shtripat
  • Add batch jobs metrics documentation for v2 and v3 by @allanrogerr