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
- move readLock on uploadId at EOF in PutObjectPart by @harshavardhana in https://github.com/miniohq/eos/pull/258
- heal: Include more use cases of non-healable but readable objects by @vadmeste in https://github.com/miniohq/eos/pull/248
- Add grid RPC stream traces by @klauspost in https://github.com/miniohq/eos/pull/259
- update all dependencies and use latest msgp (#20768) by @harshavardhana in https://github.com/miniohq/eos/pull/261
- Implementing a new global queueing system. Refactors to audit logging, webhook logging and system logging. by @zveinn in https://github.com/miniohq/eos/pull/173
RELEASE.2024-12-13T13-42-41Z
What’s Changed
- Add certificate expiration metric (v3 only) by @ramondeklein in https://github.com/miniohq/eos/pull/234
- upgrade msgp to the latest release by @harshavardhana in https://github.com/miniohq/eos/pull/237
- fix: groups lookup performance issue with users with lots of groups by @harshavardhana in https://github.com/miniohq/eos/pull/230
- Add Cluster StorageInfo cache by @klauspost in https://github.com/miniohq/eos/pull/239
- Fixes for POST policy checks and the x-ignore implementation by @marktheunissen in https://github.com/miniohq/eos/pull/207
- Limit concurrent usage cache loading by @klauspost in https://github.com/miniohq/eos/pull/241
- Track storage reads/writes by @klauspost in https://github.com/miniohq/eos/pull/243
- fix: Privilege escalation in IAM import API by @donatello in https://github.com/miniohq/eos/pull/244
- Add license expiration metric (v3 only) by @ramondeklein in https://github.com/miniohq/eos/pull/238
- Add Full Object Checksums by @klauspost in https://github.com/miniohq/eos/pull/247
- s3: Sanitize the source object name in CopyObject handler by @vadmeste in https://github.com/miniohq/eos/pull/249
- Adds http server metrics to v3 by @klauspost in https://github.com/miniohq/eos/pull/242
- heal: Move CheckParts from single handler to streaming RPC by @vadmeste in https://github.com/miniohq/eos/pull/251
- Use smaller drive list buffer by @klauspost in https://github.com/miniohq/eos/pull/253
- re-implement Health handler to be precisely what we want by @harshavardhana in https://github.com/miniohq/eos/pull/245
- Track min/max time for windowed operations by @klauspost in https://github.com/miniohq/eos/pull/254
- Remove build and cache step for all the tests by @shtripat in https://github.com/miniohq/eos/pull/257
- Add interface for custom RPC logging by @klauspost in https://github.com/miniohq/eos/pull/255
- Add basic KMS tracing by @klauspost in https://github.com/miniohq/eos/pull/252
- Fix replication of checksum headers. by @poornas in https://github.com/miniohq/eos/pull/250
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