Roman Loginov
861454e499
The X-Amz-Content-Sha256 header check is done only for unencrypted payload. Signed-off-by: Roman Loginov <r.loginov@yadro.com>
5.2 KiB
5.2 KiB
Changelog
This document outlines major changes between releases.
Unreleased
Fixed
- Handle negative
Content-Length
on put (#125) - Use
DisableURIPathEscaping
to presign urls (#125) - Use specific s3 errors instead of
InternalError
where possible (#143) grpc
schemas in tree configuration (#166)- Return appropriate 404 code when object missed in storage but there is in gate cache (#158)
- Replace part on re-upload when use multipart upload (#176)
- Fix goroutine leak on put object error (#178)
- Fix parsing signed headers in presigned urls (#182)
- Fix url escaping (#188, #224)
- Use correct keys in
list-multipart-uploads
response (#185) - Fix parsing
key-marker
for object list versions (#243) - Fix marshaling errors in
DeleteObjects
method (#222) - Fix status code in GET/HEAD delete marker (#226)
- Fix
NextVersionIDMarker
inlist-object-versions
(#248)
Added
- Add
trace_id
value into log record when tracing is enabled (#142) - Add basic error types and exit codes to
frostfs-s3-authmate
(#152) - Add a metric with addresses of nodes of the same and highest priority that are currently healthy (#51)
- Support dump metrics descriptions (#80)
- Add
copies_numbers
section toplacement_policy
in config file and support vectors of copies numbers (#70, #101) - Support impersonate bearer token (#81, #105)
- Reload default and custom copies numbers on SIGHUP (#104)
- Tracing support (#84, #140)
- Return bearer token in
s3-authmate obtain-secret
result (#132) - Support multiple version credentials using GSet (#135)
- Implement chunk uploading (#106)
- Add new
kludge.bypass_content_encoding_check_in_chunks
config param (#146) - Add new
frostfs.client_cut
config param (#192) - Add new
frostfs.buffer_max_size_for_put
config param and sync TZ hash for PUT operations (#197) - Add
X-Amz-Version-Id
header after complete multipart upload (#227) - Add handling of
X-Amz-Copy-Source-Server-Side-Encryption-Customer-*
headers during copy (#217) - Add new
logger.destination
config param (#236) - Add
X-Amz-Content-Sha256
header validation (#218)
Changed
- Update prometheus to v1.15.0 (#94)
- Update go version to go1.19 (#118)
- Remove object from tree and reset its cache on object deletion when it is already removed from storage (#78)
- Finish rebranding (#2)
- Timeout errors has code 504 now (#103)
- Use request scope logger (#111)
- Add
s3-authmate update-secret
command (#131) - Use default registerer for app metrics (#155)
- Use chi router instead of archived gorlilla/mux (#149)
- Complete multipart upload doesn't unnecessary copy now. Thus, the total time of multipart upload was reduced by 2 times (#63)
- Use gate key to form object owner (#175)
- Apply placement policies and copies if there is at least one valid value (#168)
- Generalise config param
use_default_xmlns_for_complete_multipart
touse_default_xmlns
so that use default xmlns for all requests (#221) - Set server IdleTimeout and ReadHeaderTimeout to
30s
and allow to configure them (#220) - Return
ETag
value in quotes (#219)
Removed
- Drop
tree.service
param (now endpoints frompeers
section are used) (#133) - Drop sending whitespace characters during complete multipart upload and related config param
kludge.complete_multipart_keepalive
(#227)
0.27.0 - Karpinsky - 2023-07-12
This is a first FrostFS S3 Gateway release named after Karpinsky glacier.
Fixed
- Using multiple servers require only one healthy (#12)
- Renew token before it expires (#20)
- Add generated deb builder files to .gitignore, and fix typo (#28)
- Get empty bucket CORS from frostfs (#36)
- Don't count pool error on client abort (#35)
- Handle request cancelling (#69)
- Clean up List and Name caches when object is missing in Tree service (#57)
- Don't create unnecessary delete-markers (#83)
Too many pings
error (#145)
Added
- Billing metrics (#5, #26, #29)
- Return container name in
head-bucket
response (#18) - Multiple configs support (#21)
- Bucket name resolving policy (#25)
- Support string
Action
andResource
fields inbucketPolicy.Statement
(#32) - Add new
kludge.use_default_xmlns_for_complete_multipart
config param (#40) - Return
X-Owner-Id
inhead-bucket
response (#79) - Support multiple tree service endpoints (#74, #110, #114)
Changed
- Repository rebranding (#1)
- Update neo-go to v0.101.0 (#14)
- Update viper to v1.15.0 (#14)
- Update go version to go1.18 (#16)
- Return error on invalid LocationConstraint (#23)
- Limit number of objects to delete at one time (#37)
- CompleteMultipartUpload handler now sends whitespace characters to keep alive client's connection (#60)
- Support new system attributes (#64)
- Abstract network communication in TreeClient (#59, #75)
- Changed values for
frostfs_s3_gw_state_health
metric (#91)
Older versions
This project is a fork of NeoFS S3 Gateway from version v0.26.0. To see CHANGELOG for older versions, refer to https://github.com/nspcc-dev/neofs-s3-gw/blob/master/CHANGELOG.md.