This document outlines major changes between releases.
0.27.5 - 2023-09-13
- SDK updated to fix node health management issues and count statistics more appropriately (#273)
0.27.4 - 2023-09-08
- missing version Prometheus metric (#269)
- SDK dependency updated to 1.0.0-rc.11 (#270)
0.27.3 - 2023-08-29
- segfault on get_by_attribute request with zero returned results (#265)
0.27.2 - 2023-08-25
- gateway stopped resolving container names after RPC connection failure (#256)
- SDK dependency updated to 1.0.0-rc.10 (#261)
- optimized buffering (#261)
0.27.1 - 2023-06-15
- "Bad Request" returned for removed objects instead of "Not Found" (#258)
- SDK dependency updated to 1.0.0-rc.9 (#258)
0.27.0 - 2023-05-19
- Version metric (#251)
- Go 1.17 support was removed, 1.20 is used by default for builds (#249)
- SDK dependency updated to 1.0.0-rc.8 (#250)
- github.com/testcontainers/testcontainers-go dependency update to 0.20.1 (#250)
0.26.0 - 2022-12-28
- ENV config example (#236)
- Support the
Date
header on upload (#214) - Available routes specification (#216)
- Mention caching strategy in docs (#215)
- Add error response on attribute duplicates (#221)
- Multiple server listeners (#228)
- Deprecated linters (#239)
Make sure your configuration is valid:
If you configure application using environment variables change:
HTTP_GW_LISTEN_ADDRESS
->HTTP_GW_SERVER_0_ADDRESS
HTTP_GW_TLS_CERT_FILE
->HTTP_GW_SERVER_0_TLS_CERT_FILE
(and setHTTP_GW_SERVER_0_TLS_ENABLED=true
)HTTP_GW_TLS_KEY_FILE
->HTTP_GW_SERVER_0_TLS_KEY_FILE
(and setHTTP_GW_SERVER_0_TLS_ENABLED=true
)
If you configure application using .yaml
file change:
listen_address
->server.0.address
tls.cert_file
->server.0.tls.cert_file
(and setserver.0.tls.enabled: true
)tls.key_file
->server.0.tls.key_file
(and setserver.0.tls.enabled: true
)
0.25.1 - 2022-11-30
- Download zip archive when
FilePath
is invalid (#222) - Only one peer must be healthy to init pool (#233)
- Debian packaging (#223)
- Timeout for individual operations in streaming RPC (#234)
0.25.0 - 2022-10-31
- Config reloading on SIGHUP (#200, #208)
- Stop pool dial on SIGINT (#212)
- Makefile help (#213)
- Update NeoFS error handling (#206)
- GitHub actions updates (#205, #209)
- Unified system attribute format for GET and HEAD (#213)
0.24.0 - 2022-09-14
- Fix expiration epoch calculation (#198)
- Fix panic on go1.19 (#188)
- Exposure of pool metrics (#179, #194)
- Help doesn't print empty parameters (#186)
- Update version calculation (#190, #199)
- Update neofs-sdk-go (#196)
- Update go version in CI and docker (#197, #202)
0.23.0 - 2022-08-02
- New param to configure pool error threshold (#184)
- Pprof and prometheus metrics configuration (#171)
- Drop GO111MODULES from builds (#182)
- To enable pprof use
pprof.enabled
instead ofpprof
in config. To enable prometheus metrics useprometheus.enabled
instead ofmetrics
in config. If you are using the command line flags you can skip this step.
0.22.0 - 2022-07-25
- Default params documentation (#172)
- Health metric (#175)
- Version output (#169)
- Updated SDK Version (#178)
0.21.0 - 2022-06-20
- Downloading ZIP archive using streaming (#163)
- New make target to build app in docker (#159)
- Increased buffer size for file uploading (#148)
- Updated linter version to v1.46.2 (#161)
- Updated CodeQL version to v2 (#158)
0.20.0 - 2022-04-29
- Get rid of data race on server shutdown (#145)
- Improved English in docs and comments (#153)
- Use
FilePath
to download zip (#150)
- Support container name NNS resolving (#142)
- Updated docs (#133, #140)
- Increased default read/write timeouts (#154)
- Updated SDK (#137, #139)
- Updated go version to 1.17 (#143)
- Improved error messages (#144)
0.19.0 - 2022-03-16
- Uploading object with zero payload (#122)
- Different headers format in GET and HEAD (#125)
- Fixed project name in docs (#120)
- Support object attributes with spaces (#123)
- Updated fasthttp to v1.34.0 (#129)
- Updated NeoFS SDK to v1.0.0-rc.3 (#126, #132)
- Refactored content type detecting (#128)
0.18.0 - 2021-12-10
- System headers format (#111)
- Different formats to set object's expiration: in epoch, duration, timestamp, RFC3339 (#108)
- Support of nodes priority (#115)
- Updated testcontainers dependency (#100)
0.17.0 - 2021-11-15
Support of bulk file download with zip streams and various bug fixes.
- Allow canonical
X-Attribute-Neofs-*
headers (#87) - Responses with error message now end with
\n
character (#105) - Application does not require all neofs endpoints to be healthy at start now (#103)
- Application now tracks session token errors and recreates tokens in runtime (#95)
- Integration tests with all-in-one test containers (#85, #94)
- Bulk download support with zip streams (#92, #96)
New features:
- logging requests (#77)
- HEAD methods for download routes (#76)
Improvements:
- updated sdk-go dependency (#82)
Bugs fixed:
- wrong NotFound status was used (#30)
We update HTTP gateway with NEP-6 wallets support, YAML configuration files and small fixes.
New features:
- YAML configuration file (#71)
Behavior changes:
- gateway key needs to be stored in a proper NEP-6 wallet now,
-k
option is no longer available, see-w
and-a
(#68)
Bugs fixed:
- downloads were not streamed leading to excessive memory usage (#67)
- Last-Modified header incorrectly used local time (#75)
New features:
- Content-Type returned for object GET requests can now be taken from attributes (overriding autodetection, #65)
Behavior changes:
- grpc keepalive options can no longer be changed (#60)
Improvements:
- code refactoring (more reuse between different gateways, moved some code to sdk-go, #47, #46, #51, #62, #63)
- documentation updates and fixes (#53, #49, #55, #59)
- updated api-go dependency (#57)
Bugs fixed:
-k
option wasn't accepted for key although it was documented (#50)
This important release makes HTTP gateway compatible with NeoFS node version 0.20.0.
Behavior changes:
- neofs-api-go was updated to 1.26.1, which contains some incompatible changes in underlying components (#39, #44)
neofs-http-gw
is consistently used now for repository, binary and image names (#43)
Improvements:
- minor code cleanups based on stricter set of linters (#41)
- updated README (#42)
This is the first public release incorporating latest NeoFS protocol support and fixing some bugs.
New features:
- upload support (#14, #13, #29)
- ephemeral keys (#26)
- TLS server support (#28)
Behavior changes:
- node weights can now be specified as simple numbers instead of percentages and gateway will calculate the proportion automatically (#27)
- attributes are converted now to
X-Attribute-*
headers when retrieving object from gate instead ofX-*
(#29)
Improvements:
- better Makefile (#16, #24, #33, #34)
- updated documentation (#16, #29, #35, #36)
- updated neofs-api-go to v1.25.0 (#17, #20)
- updated fasthttp to v1.23.0+ (#17, #29)
- refactoring, eliminating some dependencies (#20, #29)
Bugs fixed:
- gateway attempted to work with no NeoFS peers configured (#29)
- some invalid headers could be sent for attributes using non-ASCII or non-printable characters (#29)
Please refer to Github releases for older releases.