aws-sdk-s3 1.233.1 → 1.234.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a94f968574a4140131a94ed10f6e238db29a2cb3ceac5eaab1bccdda34efa4f
4
- data.tar.gz: 63bbf8c2512e03438f6e22c634bb9070cc52e0b06096d7a6945dc55100303631
3
+ metadata.gz: be1c000006646f0cab1ea05164ce65d1f2e6d703317973d2b14a7ace38a38798
4
+ data.tar.gz: 6bf0586b734763d6b543912eb84cdd52ddc1cc34029ffd27cfb0147038a31790
5
5
  SHA512:
6
- metadata.gz: 46c2a374e3f4bbd446d32b3403f08e2b648f37dc5f1cfb1d1c2224a211b43e6450ebdaa9cc3bbf9c6fa3e2a5b0884671127baf13163391fb11647a339f34ae5f
7
- data.tar.gz: 564b1d9d422faa9180efc8e86f31803c517335608ff98eb05fa328094cc5de1a23cd22f13afeb09aa3e84aeb5f0e0f3b8a2e9a2f69437403efcbc3aa7bb2ebb2
6
+ metadata.gz: 17f9c7cd623e705665b425abd6036c76b3ae8090c252a1ced2e01712f0d8c7226bcfbbb370e8d83c61c0bc49a0142ddb4aeeb09a61a269549fc88fbc5eed66ab
7
+ data.tar.gz: e950e593ed553a5c5c2d33393528164dd46c8f9d4712f50b98a88a3811b968c1f8e153f094ce57e58cc1a03b591252a9d5bd9e3d3c7fae6d957b45f4175f10b4
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.234.0 (2026-10-19)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.233.2 (2026-10-06)
10
+ ------------------
11
+
12
+ * Issue - Fix `download_file` on `TransferManager` and `Aws::S3::Object` leaving a corrupt file at the destination when a part raises a non-`StandardError`, and leaving a temp file behind when a caller-provided executor rejects a part.
13
+
14
+ * Issue - Prevent `upload_directory` and `download_directory` on `TransferManager` from hanging when listing files or objects raises a non-`StandardError`, such as from a `:filter_callback`.
15
+
4
16
  1.233.1 (2026-10-01)
5
17
  ------------------
6
18
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.233.1
1
+ 1.234.0
@@ -24209,7 +24209,7 @@ module Aws::S3
24209
24209
  tracer: tracer
24210
24210
  )
24211
24211
  context[:gem_name] = 'aws-sdk-s3'
24212
- context[:gem_version] = '1.233.1'
24212
+ context[:gem_version] = '1.234.0'
24213
24213
  Seahorse::Client::Request.new(handlers, context)
24214
24214
  end
24215
24215
 
@@ -148,8 +148,9 @@ module Aws
148
148
  stream_objects
149
149
  @object_queue << DONE_MARKER
150
150
  rescue ClosedQueueError
151
- # abort requested
152
- rescue StandardError => e
151
+ nil # abort requested
152
+ # Any error, or the consumer waits on the queue forever
153
+ rescue Exception => e # rubocop:disable Lint/RescueException
153
154
  close
154
155
  raise e
155
156
  end
@@ -156,6 +156,10 @@ module Aws
156
156
  # encountered a traversal error, we must abort immediately
157
157
  close
158
158
  raise DirectoryUploadError, "Directory traversal failed for '#{@source_dir}': #{e.message}"
159
+ # Any other error, or the consumer waits on the queue forever
160
+ rescue Exception => e # rubocop:disable Lint/RescueException
161
+ close
162
+ raise e
159
163
  end
160
164
 
161
165
  while (file = @file_queue.shift) && file != DONE_MARKER
@@ -60,7 +60,7 @@ module Aws
60
60
  end
61
61
 
62
62
  def download_with_executor(part_list, total_size, opts)
63
- download_attempts = 0
63
+ queued_parts = 0
64
64
  completion_queue = Queue.new
65
65
  abort_download = false
66
66
  error = nil
@@ -69,24 +69,31 @@ module Aws
69
69
  while (part = part_list.shift)
70
70
  break if abort_download
71
71
 
72
- download_attempts += 1
73
- @executor.post(part) do |p|
74
- update_progress(progress, p)
75
- resp = @client.get_object(p.params)
76
- range = extract_range(resp.content_range)
77
- validate_range(range, p.params[:range]) if p.params[:range]
78
- write(resp.body, range, opts)
79
-
80
- execute_checksum_callback(resp, opts)
72
+ begin
73
+ @executor.post(part) do |p|
74
+ update_progress(progress, p)
75
+ resp = @client.get_object(p.params)
76
+ range = extract_range(resp.content_range)
77
+ validate_range(range, p.params[:range]) if p.params[:range]
78
+ write(resp.body, range, opts)
79
+
80
+ execute_checksum_callback(resp, opts)
81
+ # Any error, or a corrupt file replaces the destination
82
+ rescue Exception => e # rubocop:disable Lint/RescueException
83
+ abort_download = true
84
+ error = e
85
+ ensure
86
+ completion_queue << :done
87
+ end
88
+ queued_parts += 1
81
89
  rescue StandardError => e
82
- abort_download = true
90
+ # Rejected by the executor, wait for queued parts so none write after cleanup
83
91
  error = e
84
- ensure
85
- completion_queue << :done
92
+ break
86
93
  end
87
94
  end
88
95
 
89
- download_attempts.times { completion_queue.pop }
96
+ queued_parts.times { completion_queue.pop }
90
97
  raise error unless error.nil?
91
98
  end
92
99
 
@@ -169,7 +169,6 @@ module Aws
169
169
  queued_parts += 1
170
170
  rescue StandardError => e
171
171
  # Rejected by the executor; abort rather than orphan the upload.
172
- abort_upload = true
173
172
  errors << e
174
173
  break
175
174
  end
data/lib/aws-sdk-s3.rb CHANGED
@@ -75,7 +75,7 @@ module Aws::S3
75
75
  autoload :ObjectVersion, 'aws-sdk-s3/object_version'
76
76
  autoload :EventStreams, 'aws-sdk-s3/event_streams'
77
77
 
78
- GEM_VERSION = '1.233.1'
78
+ GEM_VERSION = '1.234.0'
79
79
 
80
80
  end
81
81
 
data/sig/errors.rbs CHANGED
@@ -11,47 +11,47 @@ module Aws
11
11
  class ServiceError < ::Aws::Errors::ServiceError
12
12
  end
13
13
 
14
- class AccessDenied < ::Aws::Errors::ServiceError
14
+ class AccessDenied < ServiceError
15
15
  end
16
- class AnnotationLimitExceeded < ::Aws::Errors::ServiceError
16
+ class AnnotationLimitExceeded < ServiceError
17
17
  end
18
- class AnnotationNameTooLong < ::Aws::Errors::ServiceError
18
+ class AnnotationNameTooLong < ServiceError
19
19
  end
20
- class BucketAlreadyExists < ::Aws::Errors::ServiceError
20
+ class BucketAlreadyExists < ServiceError
21
21
  end
22
- class BucketAlreadyOwnedByYou < ::Aws::Errors::ServiceError
22
+ class BucketAlreadyOwnedByYou < ServiceError
23
23
  end
24
- class EncryptionTypeMismatch < ::Aws::Errors::ServiceError
24
+ class EncryptionTypeMismatch < ServiceError
25
25
  end
26
- class IdempotencyParameterMismatch < ::Aws::Errors::ServiceError
26
+ class IdempotencyParameterMismatch < ServiceError
27
27
  end
28
- class InvalidAnnotationName < ::Aws::Errors::ServiceError
28
+ class InvalidAnnotationName < ServiceError
29
29
  end
30
- class InvalidObjectState < ::Aws::Errors::ServiceError
30
+ class InvalidObjectState < ServiceError
31
31
  def storage_class: () -> ::String
32
32
  def access_tier: () -> ::String
33
33
  end
34
- class InvalidPrefix < ::Aws::Errors::ServiceError
34
+ class InvalidPrefix < ServiceError
35
35
  end
36
- class InvalidRequest < ::Aws::Errors::ServiceError
36
+ class InvalidRequest < ServiceError
37
37
  end
38
- class InvalidWriteOffset < ::Aws::Errors::ServiceError
38
+ class InvalidWriteOffset < ServiceError
39
39
  end
40
- class NoSuchAnnotation < ::Aws::Errors::ServiceError
40
+ class NoSuchAnnotation < ServiceError
41
41
  end
42
- class NoSuchBucket < ::Aws::Errors::ServiceError
42
+ class NoSuchBucket < ServiceError
43
43
  end
44
- class NoSuchKey < ::Aws::Errors::ServiceError
44
+ class NoSuchKey < ServiceError
45
45
  end
46
- class NoSuchUpload < ::Aws::Errors::ServiceError
46
+ class NoSuchUpload < ServiceError
47
47
  end
48
- class ObjectAlreadyInActiveTierError < ::Aws::Errors::ServiceError
48
+ class ObjectAlreadyInActiveTierError < ServiceError
49
49
  end
50
- class ObjectNotInActiveTierError < ::Aws::Errors::ServiceError
50
+ class ObjectNotInActiveTierError < ServiceError
51
51
  end
52
- class TooManyParts < ::Aws::Errors::ServiceError
52
+ class TooManyParts < ServiceError
53
53
  end
54
- class UnsupportedMediaType < ::Aws::Errors::ServiceError
54
+ class UnsupportedMediaType < ServiceError
55
55
  end
56
56
  end
57
57
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.233.1
4
+ version: 1.234.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -46,7 +46,7 @@ dependencies:
46
46
  version: '3'
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 3.256.0
49
+ version: 3.258.0
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
@@ -56,7 +56,7 @@ dependencies:
56
56
  version: '3'
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 3.256.0
59
+ version: 3.258.0
60
60
  description: Official AWS Ruby gem for Amazon Simple Storage Service (Amazon S3).
61
61
  This gem is part of the AWS SDK for Ruby.
62
62
  email: