| 
2 | 2 | 
 
  | 
3 | 3 | ## Background  | 
4 | 4 | 
 
  | 
5 |  | -In AWS SDK for JavaScript [v3.729.0](https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.729.0), we shipped a feature that [changed default object integrity in S3](https://github.com/aws/aws-sdk-js-v3/issues/6810). The SDKs now default to using more modern checksums (like CRC32) to ensure object integrity, whereas previously MD5 checksums were being used. Some third-party S3-compatible services currently do not support these checksums. To our knowledge, this affects only the S3 `DeleteObjects` operation.  | 
 | 5 | +In AWS SDK for JavaScript [v3.729.0](https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.729.0),  | 
 | 6 | +we shipped a feature that [changed default object integrity in  | 
 | 7 | +S3](https://github.com/aws/aws-sdk-js-v3/issues/6810). The SDKs now default to using more modern  | 
 | 8 | +checksums (like CRC32) to ensure object integrity, whereas previously MD5 checksums were being used.  | 
 | 9 | +Some third-party S3-compatible services currently do not support these checksums. To our knowledge,  | 
 | 10 | +this affects only the S3 `DeleteObjects` operation.  | 
6 | 11 | 
 
  | 
7 |  | -If you wish to fallback to the old behavior of sending MD5 checksums, for operations like `DeleteObjectsCommand` this is how  | 
8 |  | -you can do it in AWS SDK for JavaScript v3:  | 
 | 12 | +If you wish to fallback to the old behavior of sending MD5 checksums, for operations like  | 
 | 13 | +`DeleteObjectsCommand` this is how you can do it in AWS SDK for JavaScript v3:  | 
9 | 14 | 
 
  | 
10 | 15 | ## MD5 fallback  | 
11 | 16 | 
 
  | 
12 |  | -The following code provides a custom S3 client that will use MD5 checksums for DeleteObjects operations while maintaining the  | 
13 |  | -default behavior for all other operations.  | 
 | 17 | +The following code provides a custom S3 client that will use MD5 checksums for DeleteObjects  | 
 | 18 | +operations while maintaining the default behavior for all other operations.  | 
14 | 19 | 
 
  | 
15 | 20 | ```javascript  | 
16 | 21 | // md5ClientS3.mjs  | 
@@ -106,12 +111,13 @@ This sequence ensures that we properly replace the checksums with MD5 checksum.  | 
106 | 111 | ## Usage Notes  | 
107 | 112 | 
 
  | 
108 | 113 | - The client can be configured with additional options as needed (region, credentials, etc.)  | 
109 |  | -- If your S3-compatible service supports the SDK's new checksum options or adds support in the future, you should use the standard S3 client instead.  | 
 | 114 | +- If your S3-compatible service supports the SDK's new checksum options or adds support in the  | 
 | 115 | +  future, you should use the standard S3 client instead.  | 
110 | 116 | 
 
  | 
111 | 117 | ## Debugging  | 
112 | 118 | 
 
  | 
113 |  | -To verify that the MD5 checksum is being correctly applied, you can add console logging to the middleware by modifying the  | 
114 |  | -code to include logging statements:  | 
 | 119 | +To verify that the MD5 checksum is being correctly applied, you can add console logging to the  | 
 | 120 | +middleware by modifying the code to include logging statements:  | 
115 | 121 | 
 
  | 
116 | 122 | ```javascript  | 
117 | 123 | // Inside the middleware function, add:  | 
 | 
0 commit comments