What's Changed
-
S3 API
- fix(s3api): accept HTTP-date conditionals by @7y-9 in #9863
- fix(s3api): drop ancestor directory markers from prefixed ListObjectVersions by @chrislusf in #9885
- fix(s3api): clear stale object lock years by @7y-9 in #9890
- fix(s3api): normalize checksum trailer header names by @7y-9 in #9905
- fix(s3api): reject empty v4 signed header names by @7y-9 in #9910
-
Remote Cache
- fix(remote): correct content and permissions when syncing/caching remote objects by @chrislusf in #9879
-
Filer Sync and Backup
- Don't mangle filer paths with the OS separator on Windows by @chrislusf in #9878
- fix(filer.sync): guard batched events against nil EventNotification by @chrislusf in #9877
- fix(filer.backup): skip replay events whose source chunk was superseded or deleted by @kisow in #9886
- fix(filer.sync): scope filesystem key sanitization to the local sink by @chrislusf in #9894
- fix(filer.sync): replicate a rename as an atomic move, not a no-op update by @chrislusf in #9895
-
Admin Server and Worker
- feat(admin): export full cluster volume list as JSON by @chrislusf in #9876
- admin: pre-gzip embedded static assets, add cache headers by @chrislusf in #9918
-
Misc
- fix(util): return full uint64 randomness by @7y-9 in #9864
- fix(http): accept no content delete responses by @7y-9 in #9893
- ci: route Docker Hub pulls through a mirror to cut registry timeouts by @chrislusf in #9904
- ci(s3tables): stop Lakekeeper flaking on Docker Hub pull timeouts by @chrislusf in #9920
-
Rust Volume Server
- fix(seaweed-volume): stop EC shard deletion from phantom .dat on restart by @chrislusf in #9874
-
Shell
- fix(shell): move files into existing destination directories by @7y-9 in #9887
- Make shell command
ec.scrubreturn shard details upon scrub failures inLOCALmode. by @plisandro in #9913 volume.scrubandec.scrubshell commands: make the display of scrub details optional. by @plisandro in #9911
-
Filer
- fix(mongodb): merge URI auth fields with username/password override by @chrislusf in #9889
- feat(filer): object size distribution metric and dashboard panels by @chrislusf in #9902
- Fix filer metadata-replay OOM under mount reconnect storms by @chrislusf in #9901
- Share decoded metadata-log entries across subscriber replays by @chrislusf in #9903
- Share metadata-log replays per chunk instead of per file by @chrislusf in #9906
- Bound the metadata-log flush queue by @chrislusf in #9907
- add elastic8 filer store for Elasticsearch 8 by @chrislusf in #9916
- log_buffer: stop dumping the whole log entry on callback errors by @chrislusf in #9919
- Cut per-subscriber replay decode and widen replay concurrency by @chrislusf in #9917
-
Volume Server
- batch drain delta heartbeat messages by @giftz in #9914
- fix(ec): don't mix EC shards from different encode runs by @chrislusf in #9880
Full Changelog: 4.32...4.33