This document outlines major changes between releases.
0.11.1 - 2024-10-28
- Network settings are cached now for faster processing (#251)
- Gateway not reacting to network settings changes (#251)
- Incorrect request for container creation hangs indefinitely (#253)
- Incorrect HTTP codes returned in many cases (#252, #253)
0.11.0 - 2024-08-28
- WalletConnect auth scheme to
/objects/${cid}/by...
APIs (#236) - Support for 'Range' headers (#241)
- Go 1.22+ is required to build now (#98, #136)
- Default read/write timeouts to 60s (#244)
fullBearer
parameter from all requests (it's autodetected now, #238)
- github.com/nspcc-dev/neo-go dependency from v0.106.0 to v0.106.3 (#98)
- github.com/oapi-codegen/echo-middleware dependency from v1.0.1 to v1.0.2 (#98)
- github.com/labstack/echo/v4 dependency from v4.11.4 to v4.12.0 (#98)
- github.com/getkin/kin-openapi from v0.118.0 to v0.127.0 (#98)
0.10.1 - 2024-08-12
- Missing proper shutdown for Pprof and Prometheus services (#227)
- Missing Content-Type header in responses for HEAD requests (#232)
- More efficient buffering for PUT requests (#225)
0.10.0 - 2024-06-10
- Documentation for the
server
section (#220) - "unknown config parameter listen-address" warning (#220)
external-address
configuration behavior to include scheme (#218)- Timestamp is no longer logged if program is not running in TTY (#222)
Notice that the configuration parameter external-address
in the
server.endpoints
section now also includes the scheme (http/https), not just
the host and port. If external-address
is not set, it will be generated from
address
and tls.enabled
.
0.9.0 - 2024-05-30
- HEAD request handling for documentation (#199)
- Darwin binaries (#204)
network-info
path to request network parameters (#198)- Proper TLS server support (#200)
- DefaultTimestamp configuration (#209)
- New upload/download APIs (#206, #210, #211, #214)
- github.com/nspcc-dev/neofs-sdk-go dependency to v1.0.0-rc.12 (#191, #176, #212)
- golang.org/x/net dependency to 0.23.0 (#201)
- Documentation to reflect known limitations (#196)
- github.com/nspcc-dev/neofs-api-go/v2 is no longer used (#176)
- Server listener configuration to conform to other NeoFS services (#200)
- github.com/nspcc-dev/neo-go dependency to v0.106.0 (#208)
Notice that configuration parameters in the server
section were reorganized.
For example e.g.server.schema
and tls-listen-limit
were removed, and some
others were moved inside the array endpoints
. Check your configuration with
the help of the gate-configuration.md and
config. Also, flags in the command arguments were
changed.
A new upload object request has been introduced: /objects/{containerId}
. This
is a POST request that accepts the X-Attributes
header, where all custom
object attributes can be included in a JSON-formatted key-value map. Also, new
GET and HEAD requests are added for object downloading:
/objects/{containerId}/by_id/{objectId}
and
/objects/{containerId}/by_attribute/{attrKey}/{attrVal}
.
For more information, see the migration documentation.
In the future, we plan to use these requests as the only option for object
upload and download. We recommend starting to use them now.
0.8.3 - 2024-03-25
- CORS for upload request (#187)
0.8.2 - 2024-03-21
- Fetching bearer token from cookie (#179)
- CORS for auth bearer and other requests (#180, #182)
0.8.1 - 2024-03-21
- Incorrect answer to OPTIONS request (#169)
- Garbage in "object not found" error messages (#174)
- Missing additional data in some error messages (#175)
- Incorrect ExternalAddress option handling (#165)
0.8.0 - 2024-03-19
- Handling nested path in get_by_attribute API (#153)
- Static MIME type defined for APIs with dynamic one (#153)
- OpenAPI specification was updated to 3.0.1 version (#153)
- Bumped google.golang.org/protobuf dependency from 1.32.0 to 1.33.0
Notice that server.scheme setting is an array, it was not enforced in the previous version (it worked fine with a string), but 0.8.0 will not work with this incorrect configuration, so please check your configurations.
0.7.2 - 2024-03-13
- Response for GET and HEAD methods in
get_by_attribute
when object is not found (#155) - Transform attribute key to Canonical MIME Header Key, which corresponds to the format used on upload (#155)
- Simplified auth test, dropped the unnecessary
neofs-crypto
dependency (#150) - Upgraded Go version to a minimum 1.20 and updated versions for GitHub Actions and workflows (#149, #152)
0.7.1 - 2024-02-19
- OPTIONS handling for HTTP-alike requests (#145)
- Improper non-bearer cookie handling (#142)
- Error messages (#142)
- Incorrect data returned from get APIs in some cases (#146)
- OPTIONS handling for all requests (#145)
0.7.0 - 2024-02-12
- Object getter compatible with HTTP gateway (#114, #127, #133)
- Object uploader compatible with HTTP gateway (#124)
- External address show in documentation can be configured now (#134)
- Bump NeoFS SDK dependency fixing "no healthy client" problem (#128)
- Bump google.golang.org/grpc from 1.57.0 to 1.57.1 (#120)
- Bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#123)
- Bump NeoGo dependency to 0.105.1 (#128)
- Bump go-openapi dependencies (#128)
- "/" now redirects to documentation page (#130)
- Gateway version doesn't have "v" prefix now (#135)
- Documentation is completely embedded into the specification now (#138)
0.6.0 - 2023-10-19
- Stop pool dial on SIGINT (#76)
- Unauthenticated GET/SEARCH requests (#2)
- Version metric (#102)
- Panic when getting an empty object (#79)
- Configuration parameters (#66, #71)
- Build releases with Go 1.20 (#86)
- Drop support for Go 1.17, 1.18 (#86, #107)
- Use SDK 1.0.0-rc.11 (#86, #91, #96, #104, #107)
- Use NeoGo 0.102.0 (#107)
- Use go.uber.org/zap 1.26.0 (#107)
- Use newer go-openapi modules (#107)
- Use golang.org/x/net 0.17.0 (#108)
Now all pool config parameters moved to pool
section. So you need to change:
peers
->pool.peers
(REST_GW_PEERS
->REST_GW_POOL_PEERS
)node-dial-timeout
->pool.node-dial-timeout
(REST_GW_NODE_DIAL_TIMEOUT
->REST_GW_POOL_NODE_DIAL_TIMEOUT
)healthcheck-timeout
->pool.healthcheck-timeout
(REST_GW_HEALTHCHECK_TIMEOUT
->REST_GW_POOL_HEALTHCHECK_TIMEOUT
)rebalance-timer
->pool.rebalance-timer
(REST_GW_REBALANCE_TIMER
->REST_GW_POOL_REBALANCE_TIMER
)pool-error-threshold
->pool.error-threshold
Besides all other parameters that doesn't belong any section, now in server
section:
listen-address
->server.listen-address
The same should be done for the following parameters as well:
scheme, cleanup-timeout, graceful-timeout, max-header-size, listen-limit, keep-alive, read-timeout, write-timeout,
tls-listen-address, tls-certificate, tls-key, tls-ca, tls-listen-limit, tls-keep-alive, tls-read-timeout, tls-write-timeout
Environment variables should be changed appropriately.
0.5.0 "Undercity" - 2022-10-07
- ACL sanity checks (#68, #69)
- Cross platform builds (#26)
- Fix expiration epoch calculation (#62)
- Typos in Makefile (#65)
- CORS for authentication (#73)
- Update go version for build to 1.19 (#61)
0.4.0 "Shadowglen" - 2022-08-30
- NeoFS client metrics (#52)
- Panic in go1.19 build (#53)
- Add CORS Allow-Origin header (#56)
- Canned ACL in container info (#38)
- Native bearer token support (#32)
Keys
target in extended ACL (#54)
- Unify application version format (#49)
0.3.0 "Thunder Bluff" - 2022-08-15
- CORS headers (#39)
- Expose metrics (#44)
- Documentation for default params (#45)
- Route to get NeoFS balance (#33)
- New field for object search response (#40)
- Building in docker (#46)
- Drop GO111MODULE from builds (#34)
0.2.1 "Razor Hill" - 2022-07-22
- Fix application version (#30)
0.2.0 "Orgrimmar" - 2022-07-22
- Support macOS build (#18)
- Update version calculating (#20)
- New error response and auth request format (#15)
- NeoFS SDK version update (#16)
- Set container attributes in body rather than in headers (#25)
- Fix .env variables in sample config (#22)
- Fix typos and examples in spec (#24)
Please refer to GitHub releases for older releases.