> For the complete documentation index, see [llms.txt](https://documentation.alluxio.io/ee-ai-en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.alluxio.io/ee-ai-en/ai-3.8-15.1.x/release-notes/ai-3-8-15-1-22.md).

# AI 3.8-15.1.22 Release Notes

## Summary

### New Features

* **Native Azure Blob Storage UFS**: Added support for Azure Blob Storage SDK v2, including flat-namespace and ADLS Gen2 environments. For setup and supported configurations, see [Azure Blob Storage](https://documentation.alluxio.io/ee-ai-en/ai-3.8-15.1.x/ufs/azure-blob-store).
* **Standalone S3 proxy**: Added a deployable S3 proxy for accessing Alluxio data through the S3 protocol. For deployment and usage details, see [S3 proxy](https://documentation.alluxio.io/ee-ai-en/ai-3.8-15.1.x/data-access/s3-proxy).

### Major Enhancements

* **Faster worker restart**: Workers restore page-store metadata more efficiently after a restart, helping cached data become available sooner.
* **S3 upload performance and reliability**: Multipart uploads have higher default concurrency and asynchronous processing by default. Improved checksum support, validation, and buffering help large uploads complete more reliably.
* **S3 API behavior**: S3 operations more consistently support user metadata, pagination, range reads and copies, directory markers, overwrites, and multipart uploads.
* **Job Service load operations**: Distributed load operations report completion only after all requested data has been written. Directory listings are also kept accurate when a load targets a specific path.
* **FUSE write performance**: FUSE write operations have lower overhead and offer optional write-path optimizations for workloads that require higher throughput.
* **AWS container credentials for S3 UFS v2**: S3 UFS v2 can use AWS container credentials, including ECS task roles and EKS Pod Identity. This lets containerized deployments access S3 with workload-provided credentials instead of static access keys.

### Compatibility Updates

* **FUSE system xattr behavior**: When a requested system attribute is not present, FUSE now returns `ENODATA` by default. Set `alluxio.user.fuse.intercept.system.xattr.get.error.code=ENOSYS` if the kernel should stop forwarding later probes.
* **S3 conditional operations on Azure Blob Storage UFS v2**: Conditional S3 requests now return S3-compatible error responses for invalid, stale, missing, or unsupported conditions. Unconditional requests are unchanged.
* **S3 CompleteMultipartUpload wildcard syntax**: For `If-None-Match`, use the bare wildcard value `*`. Quoted or combined wildcard values are rejected.
* **S3 ETag behavior**: S3 ETags are now returned as quoted, version-based values. Do not treat them as MD5 hashes. Existing ETag values remain accepted during rolling upgrades.

## Breaking Changes

No breaking changes in this release.

## Upgrade Notes

No migration steps are required for this release.
