Skip to content

Releases: nspcc-dev/neofs-s3-gw

v0.38.0

30 May 12:30
83751eb
Compare
Choose a tag to compare

Changed

  • Optimized lock metadata storage (#1168)
  • Optimized searches for tag and lock objects (#1167)
  • Tags are stored as object attributes now (#1166)

Fixed

  • Internal slicer not working correctly with 0.46.0+ NeoFS (#1170, #1173)
  • Meta objects not deleted when deleting an object (#1169)
  • S3 listing pagination issues (#1177)

Updated

  • NeoFS SDK to v1.0.0-rc.13.0.20250516065036-cd732ce85922 (#1173)

Removed

  • MetaType=lock attribute from lock objects (#1176)

v0.37.0

12 May 12:54
a9de582
Compare
Choose a tag to compare

Added

  • Support of x-amz-content-sha256 header with STREAMING-UNSIGNED-PAYLOAD-TRAILER value (#1028)
  • Fetching metadata consistency policy from contract (#1150)

Changed

  • Request-related metrics are histograms now (#1127)
  • Bucket ownership settings moved from EACL to bucket settings meta objects (#1120)
  • Bucket settings data is versioned now (#1143)
  • Unified prefixes for object attributes (#1145)
  • Peers list definition in config files (#1149)
  • Object's Epoch attribute is no longer considered when sorting (only timestamp is used, #1163)
  • ChaCha20-Poly1305 is replaced by AES for access boxes (#1136)

Fixed

  • Requirement to pass Content-MD5 header when deleting multiple objects (#1113)
  • Missing prefix in ListObjectVersions result (#1128)
  • Duplicates in object listings (#1133)
  • Incorrect ownership of multipart upload metadata objects (#1139)
  • Homomorphic hashing enabled for new bucket when it's disabled network-wide (#1138)
  • Attempt to list whole bucket when removing it (#1157)

Updated

Removed

  • MetaMultipartType object attribute (#1146)

Upgrading from 0.36.1

authmate tool "reset-bucket-acl" command was updated to clean redundant EACL records. These settings were moved to bucket settings object.

Please change peer config from the old format:

peers:
  0:
    address: node1.neofs:8080
    priority: 1
    weight: 1

to the new one:

peers:
  - address: node1.neofs:8080
    priority: 1
    weight: 1

v0.36.1

09 Apr 15:10
6cf7b09
Compare
Choose a tag to compare

Fixed

  • Performance regresssion relative to 0.35.0 caused by incorrect settings cache (#1121)
  • Incorrect 500 status code for unsuccessful object puts caused by missing access permissions (#1121)

v0.36.0

04 Apr 09:39
a76a23e
Compare
Choose a tag to compare

This release no longer uses the experimental tree service for any operations, so it can be used with any standard 0.45.0+ NeoFS node. Some fixes and configuration improvements are included as well.

Added

  • logger.encoding config option (#1100)
  • logger.timestamp config option (#1100)
  • Experimental neofs.metadata_policy config option (#1117)

Changed

Fixed

  • Some missing metrics (#1098)
  • Locks and tags for versioned objects (#1110)
  • Inability to get object because of incorrect access rights (#1112)
  • Object copying in versioned buckets (#1114)

Updated

  • github.com/urfave/cli/v2 dependency to v2.27.6 (#1095)
  • github.com/prometheus/client_golang dependency to v1.21.1 (#1095)
  • github.com/spf13/pflag dependency to v1.0.6 (#1095)
  • google.golang.org/grpc dependency to v1.71.0 (#1095)

Removed

  • neofs.epoch_update_interval option (#1094)
  • tree option (#1070)
  • Some unused object attributes (#1097)

v0.35.0

07 Mar 12:22
1df7517
Compare
Choose a tag to compare

This is a hybrid version for test purposes only, it no longer uses experimental tree extension of NeoFS for object operations, but it still needs it for some bucket-level operations. A number of other improvements went in as well, this version offers adequate performance using pure native NeoFS APIs.

Changed

  • GetBucketLifecycle operation now partially supported. It always returns NoSuchLifecycleConfiguration error (#1049)
  • Minimal required Go is 1.23 now (#979, #1092)
  • Object operations no longer use tree service (#1050, #1066, #1067, #1068)
  • Gateway uses SearchV2 now for internal purposes (#1082)
  • Optimized GetObject (#1085)

Fixed

  • CopyObject with enabled versioning (#1075)
  • Missing version metric on application start (#1089)
  • CompleteMultipartUpload incompatibility with some clients (#1077)

Updated

  • github.com/nspcc-dev/neofs-sdk-go dependency to v1.0.0-rc.13 (#1073, #1088, #1092)
  • github.com/nspcc-dev/neo-go dependency to v0.108.1 (#1092)
  • google.golang.org/grpc dependency to v1.70.0 (#1092)
  • google.golang.org/protobuf dependency to v1.36.5 (#1092)
  • github.com/stretchr/testify dependency to v1.10.0 (#1092)
  • golang.org/x/sync to v0.11.0 (#1092)
  • golang.org/x/exp to v0.0.0-20250210185358-939b2ce775ac (#1092)

v0.34.1

27 Jan 08:23
2e8ec06
Compare
Choose a tag to compare

Fixed

  • CopyObject returning "duplicate attributes" error in some cases (#1058)
  • EACL overflow in CopyObject (#1061)

Upgrading from 0.34.0

authmate tool was extended with "reset-bucket-acl" command to fix erroneously big EACLs in containers, use it in case you have a container with this problem.

v0.34.0

30 Dec 15:42
b4a9bad
Compare
Choose a tag to compare

Changed

  • Disable URI path escaping for presigned URLs (#1046)

Updated

  • golang.org/x/crypto dependency from 0.26.0 to 0.31.0 (#1044)

Removed

  • Command generate-presigned-url from authmate (#1048)

v0.33.0

10 Dec 18:01
bf5a07f
Compare
Choose a tag to compare

Changed

  • ACLs are disabled now by default (like in AWS S3), but can be enabled via policy (#1018, #1026, #1036)
  • Log sampling is disabled now (#1024)
  • Concurrent parts upload is possible now for multipart uploads (#1034, #1041)
  • neofs_s3_version_info metric renamed to neofs_s3_version (#1035)

Fixed

  • authmate not checking for URL validity when creating presigned URL (#1027)
  • Panic in chunked encoding handler (#1039)

Updated

  • NeoGo dependency to 0.107.0 (#1040)

v0.32.0

01 Oct 10:13
1f2abd9
Compare
Choose a tag to compare

Added

  • placement_policy.locations config option (#989)
  • Placement policy search using contract (#999)

Fixed

  • Reading chunked payload if header content-encoding: aws-chunked is not set (#1009)

v0.31.1

13 Sep 12:05
808be4d
Compare
Choose a tag to compare

Changed

  • Documentation for extensions and unsupported features (#990, #991, #995, #998)
  • Go 1.22+ is required to build now (#927)
  • stream_timeout default timeout from 10s to 60s (#973)
  • Multipart objects are signed directly by gate now (#1001)

Fixed

  • Incorrect locked object deletion (#992)
  • Potential version ID collisions in some cases (#993)
  • Excessive memory use when working with small objects (#997)

Updated

  • github.com/minio/sio from v0.4.0 to v0.4.1 (#927)
  • github.com/nats-io/nats.go from v1.34.0 to v1.37.0 (#927)
  • github.com/nspcc-dev/tzhash from v1.8.1 to v1.8.2 (#927)
  • github.com/prometheus/client_golang from v1.20.0 to v1.20.2 (#927)
  • github.com/urfave/cli/v2 from v2.27.2 to v2.27.4 (#927)