4.09
What's Changed
-
S3 API
- Fix CopyObject If-Match ETag mismatch by copying Md5 attribute by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8053
- Fix: Propagate OIDC claims for dynamic IAM policies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8060
- Fix CORS headers not applied to non-existent bucket responses by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8070
- Fix: S3 CORS headers missing for non-existent buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8078
- fix: propagate OIDC attributes to STS session token for IAM policies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8079
- fix(s3api): missing
Vary: Originheader on non-CORS andOPTIONSrequests by @llc1123 in https://github.com/seaweedfs/seaweedfs/pull/8072 - Fix S3 conditional writes with versioning (Issue #8073) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8080
- Fix: Populate Claims from STS session RequestContext for policy variable substitution by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8082
- test: fix flaky S3 volume encryption test by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8083
- Fix S3 Gateway Read Failover #8076 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8087
- fix: S3 listing NextMarker missing intermediate directory component by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8089
- fix: IAM authentication with AWS Signature V4 and environment credentials by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8099
- Add AWS IAM integration tests and refactor admin authorization by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8098
- Refactor IAM Storage: Multi-File Backend & Unified Interface by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8102
- Fix IAM OIDC role mapping and OIDC claims in trust policy by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8104
- iam: support ForAnyValue and ForAllValues condition set operators by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8105
- IAM Policy Management via gRPC by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8109
- migrate IAM policies to multi-file storage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8114
- Explicit IAM gRPC APIs for S3 Server by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8126
- s3api: fix volume assignment failure in copy operations by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8128
- Implement IAM propagation to S3 servers by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8130
- feat: Add S3 Tables support for Iceberg tabular data by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8147
- s3api: ensure MD5 is calculated or reused during CopyObject by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8163
- iam: add ECDSA support for OIDC token validation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8166
-
S3 Table Bucket (WIP)
- s3: change s3 tables to use RESTful API by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8169
- s3api: fix S3 Tables auth to allow auto-hashing of body by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8170
- s3api: allow empty region and account id in s3tables ARN by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8171
- Add s3tables shell and admin UI by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8172
- s3tables: add Iceberg file layout validation for table buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8176
- feat: Add Iceberg REST Catalog server and admin UI by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8175
- s3: enforce authentication and JSON error format for Iceberg REST Catalog by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8192
- helm: add Iceberg REST catalog support to S3 service by @yalindogusahin in https://github.com/seaweedfs/seaweedfs/pull/8193
- s3tables: redesign Iceberg REST Catalog using iceberg-go and automate integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8197
-
FUSE Mount
- Support for cacheMetaTtlSec option in fuse command by @KyoungYun-K in https://github.com/seaweedfs/seaweedfs/pull/8063
- mount: apply UID/GID mapping in lookupEntry for cache misses by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8144
- Enable weed fuse on FreeBSD by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8146
- mount: invalidate meta cache on follow retry by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8173
- mount: refresh and evict hot dir cache by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8174
-
Misc
- Update Wiki images by @yahooguntu in https://github.com/seaweedfs/seaweedfs/pull/8069
- fix #8081: build latest container is missing latest_large_disk by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8145
-
Admin UI
- Fix maintenance worker panic and add EC integration tests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8068
- Refactor Admin UI to use unified IAM storage and add MultipleFileStore by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8101
- Refactor Admin UI: Support Unified Identity Storage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8103
- Fix Javascript merge issue and UI worker detail display bug by @aimmac23 in https://github.com/seaweedfs/seaweedfs/pull/8135
- Fix jwt error in admin UI by @MorezMartin in https://github.com/seaweedfs/seaweedfs/pull/8140
-
Helm Chart
- Feature/volume ingress by @yalindogusahin in https://github.com/seaweedfs/seaweedfs/pull/8084
- Refactor Helm chart to use dynamic names for resources by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8142
- refactor(helm): Unified Naming Truncation and Bug Fixes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8143
- Update Helm hook annotations for post-install and upgrade by @emanuele-leopardi in https://github.com/seaweedfs/seaweedfs/pull/8150
-
Volume Server
- Fix EC shard recovery with improved diagnostics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8091
- Clarfiy errors upon needle CRC mismatches. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/8096
- fix: close volumes and EC shards in tests for Windows compatibility by @pingqiu in https://github.com/seaweedfs/seaweedfs/pull/8152
- fix: correct chunk size in encrypted uploads (fixes #8151) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8154
- Add volume server RPCs to read and update state flags. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/8186
- Block RPC write operations on volume servers when maintenance mode is enabled by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/8115
- fix: skip exhausted blocks before creating an interval by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8180
- Implement RPC skeleton for regular/EC volumes scrubbing. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/8187
-
Master
- Fix imbalance detection disk type grouping and volume grow errors by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8097
- Return volume server state flags via
VolumeServerStatus()RPCs. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/8016 - Have masters update DataNode details based on state heartbeats from volume servers. by @proton-lisandro-pin in https://github.com/seaweedfs/seaweedfs/pull/8017
-
Shell
- feat(shell): add Object Lock management commands by @kvaps in https://github.com/seaweedfs/seaweedfs/pull/8141
- Fix inconsistent TTL reporting in volume.list #8158 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8164
- shell: allow spaces in arguments via quoting (#8157) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8165
-
Remote Storage
- feat(gcs): add application default credentials fallback support by @petedodd-pd in https://github.com/seaweedfs/seaweedfs/pull/8161
-
Filer
- fix Filer startup failure due to JWT on / path #8149 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8167
- Fix: filer not yet available in s3.configure by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/8198
New Contributors
- @KyoungYun-K made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8063
- @yahooguntu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8069
- @yalindogusahin made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8084
- @emanuele-leopardi made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8150
- @pingqiu made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8152
- @petedodd-pd made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/8161
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.07...4.09