diff --git a/Frends.AmazonS3.UploadObject/CHANGELOG.md b/Frends.AmazonS3.UploadObject/CHANGELOG.md
index 3720809..5a4ff4f 100644
--- a/Frends.AmazonS3.UploadObject/CHANGELOG.md
+++ b/Frends.AmazonS3.UploadObject/CHANGELOG.md
@@ -1,5 +1,8 @@
# Changelog
+## [3.3.0] - 2026-04-21
+### Fixed
+- Fixed missing BucketName/Key in abort cleanup, simplified loop to a single abort call, added throw to stop swallowing exceptions and set default multipart part size to 10 MB.
## [3.2.0] - 2025-12-29
### Changed
diff --git a/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/Definitions/Connection.cs b/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/Definitions/Connection.cs
index 1d45c42..145da10 100644
--- a/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/Definitions/Connection.cs
+++ b/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/Definitions/Connection.cs
@@ -96,7 +96,8 @@ public class Connection
/// Recommended part sizes typically range from 10 MB to 100 MB for optimal performance.
///
/// 10
- public long PartSize { get; set; }
+ [DefaultValue(10)]
+ public long PartSize { get; set; } = 10;
///
/// Enable/disable an AWS S3 access control list.
diff --git a/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject.csproj b/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject.csproj
index 518906f..fdecbb2 100644
--- a/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject.csproj
+++ b/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject.csproj
@@ -2,7 +2,7 @@
net8.0
- 3.2.0
+ 3.3.0
Frends
Frends
Frends
diff --git a/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/UploadObject.cs b/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/UploadObject.cs
index c5e2f4e..aee7c56 100644
--- a/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/UploadObject.cs
+++ b/Frends.AmazonS3.UploadObject/Frends.AmazonS3.UploadObject/UploadObject.cs
@@ -259,28 +259,22 @@ private static async Task UploadMultipart(FileInfo file, Connection connection,
}
catch (Exception)
{
- ListPartsRequest listPartsRequest = new()
- {
- UploadId = uploadRequest.UploadId
- };
-
- var listParts = await client.ListPartsAsync(listPartsRequest, cancellationToken);
-
- while (listParts.Parts.Count > 0)
+ try
{
- foreach (var part in listParts.Parts)
+ var abortMpuRequest = new AbortMultipartUploadRequest
{
- AbortMultipartUploadRequest abortMpuRequest = new()
- {
- BucketName = input.BucketName,
- Key = path,
- UploadId = uploadRequest.UploadId
- };
- await client.AbortMultipartUploadAsync(abortMpuRequest, cancellationToken);
- }
+ BucketName = input.BucketName,
+ Key = path,
+ UploadId = initResponse.UploadId
+ };
- listParts = await client.ListPartsAsync(listPartsRequest, cancellationToken);
+ await client.AbortMultipartUploadAsync(abortMpuRequest, cancellationToken);
+ }
+ catch
+ {
+ // Swallow abort errors so the original exception is rethrown below.
}
+ throw;
}
}