+ Add memory allocation limits to stream parsers ([#413](https://github.com/s3s-project/s3s/pull/413))
+ Fix unbounded memory allocation in http::body ([#407](https://github.com/s3s-project/s3s/pull/407))
+ Fix unbounded memory allocation in POST object ([#370](https://github.com/s3s-project/s3s/pull/370), [#390](https://github.com/s3s-project/s3s/pull/390))
+ Remove non-constant time PartialEq from SecretKey, use ConstantTimeEq ([#319](https://github.com/s3s-project/s3s/pull/319))
+ Fixed If-None-Match wildcard support ([#433](https://github.com/s3s-project/s3s/pull/433))
Configuration types now implement `Default`, `Serialize`, and `Deserialize` ([#429](https://github.com/s3s-project/s3s/pull/429), [#435](https://github.com/s3s-project/s3s/pull/435))
+ All Configuration types now derive or implement `Default` trait
+ Added serde support for all Configuration types and their dependencies
Signature verification enhancements:
+ AWS Signature V2 POST signature support ([#358](https://github.com/s3s-project/s3s/pull/358))
+ STS signature validation support ([#418](https://github.com/s3s-project/s3s/pull/418))
+ Normalize header values per AWS SigV4 specification ([#393](https://github.com/s3s-project/s3s/pull/393))
+ Fix status code for invalid x-amz-content-sha256 header ([#430](https://github.com/s3s-project/s3s/pull/430))
+ Handle multi-value headers in canonical requests ([#408](https://github.com/s3s-project/s3s/pull/408))
+ Fix single chunk upload signature validation ([#369](https://github.com/s3s-project/s3s/pull/369))
+ Add tests for PUT presigned URL signature verification ([#402](https://github.com/s3s-project/s3s/pull/402))
Protocol improvements:
+ Enhanced checksum support and content validation ([#371](https://github.com/s3s-project/s3s/pull/371))
+ Support streaming trailers ([#59d6fd9](https://github.com/s3s-project/s3s/commit/59d6fd973cf9237537954b3723e889f28e4fe833))
+ Improve error logs for HTTP parsing failures ([#366](https://github.com/s3s-project/s3s/pull/366))
+ Add xml_attr field and related functionality for XML serialization ([#299](https://github.com/s3s-project/s3s/pull/299))
+ Optimize StrEnum XML deserialization to reduce allocations ([#313](https://github.com/s3s-project/s3s/pull/313))
+ Differentiate Get and List operations by id parameter ([#392](https://github.com/s3s-project/s3s/pull/392), [#398](https://github.com/s3s-project/s3s/pull/398))
+ Return MalformedXML for empty XML body in operations requiring it ([#377](https://github.com/s3s-project/s3s/pull/377))
+ Enhance extract_host to return host from URI if available ([#431](https://github.com/s3s-project/s3s/pull/431))
+ Custom validation option via S3ServiceBuilder ([#342](https://github.com/s3s-project/s3s/pull/342))
Cryptography:
+ Use latest RustCrypto releases ([#354db52](https://github.com/s3s-project/s3s/commit/354db522718fbe59548887f6db1bf55c9cd2c2b5))
+ Timestamp derive more ([#cdf9b15](https://github.com/s3s-project/s3s/commit/cdf9b1587d536cd123df84d3a24dcba08d0f02f8))
+ Fix CI failure by updating missing generated code from AWS data ([#323](https://github.com/s3s-project/s3s/pull/323))
### Testing
+ Add comprehensive error case tests for aws_chunked_stream ([#354](https://github.com/s3s-project/s3s/issues/354), [#423](https://github.com/s3s-project/s3s/pull/423))
+ Add OpenDAL compatibility test for S3 API integration ([#317](https://github.com/s3s-project/s3s/pull/317))
+ Add crate `s3s-wasm` for WebAssembly support ([#3c3d3cc](https://github.com/s3s-project/s3s/commit/3c3d3cc8fe2c2db3b721d6bf65dadaba1ce776fe), [#452f2e3](https://github.com/s3s-project/s3s/commit/452f2e3b847327a57e0af7357dd4875343c37899))
### Documentation
+ Deploy cargo docs to GitHub Pages for main branch ([#359](https://github.com/s3s-project/s3s/pull/359))
### Docker
+ Standalone, static-compiled Docker image for s3s-fs/e2e/proxy (AMD64 and ARM64) ([#334](https://github.com/s3s-project/s3s/pull/334))
+ Adjust Docker workflow for tag-based releases and weekly edge builds ([#422](https://github.com/s3s-project/s3s/pull/422))