299 lines
8.5 KiB
Markdown
299 lines
8.5 KiB
Markdown
# Changelog
|
|
|
|
This document outlines major changes between releases.
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
- Multiple configs support (TrueCloudLab#12)
|
|
|
|
### Changed
|
|
- Update go version to 1.18 (TrueCloudLab#9)
|
|
- Update neo-go to v0.101.0 (#8)
|
|
- Update viper to v1.15.0 (#8)
|
|
- Errors have become more detailed (#18)
|
|
- Update system attribute names (#22)
|
|
- Separate integration tests with build tags (#24)
|
|
|
|
### Updating from v0.26.0
|
|
|
|
To set system attributes use updated headers
|
|
(you can use old ones for now, but their support will be dropped in the future releases):
|
|
|
|
* `X-Attribute-Neofs-*` -> `X-Attribute-System-*`
|
|
* `X-Attribute-NEOFS-*` -> `X-Attribute-SYSTEM-*`
|
|
* `X-Attribute-neofs-*` -> `X-Attribute-system-*`
|
|
|
|
## [0.26.0] - 2022-12-28
|
|
|
|
### Fixed
|
|
- ENV config example (#236)
|
|
|
|
### Added
|
|
- 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)
|
|
|
|
### Removed
|
|
- Deprecated linters (#239)
|
|
|
|
### Updating from v0.25.1
|
|
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 set `HTTP_GW_SERVER_0_TLS_ENABLED=true`)
|
|
* `HTTP_GW_TLS_KEY_FILE` -> `HTTP_GW_SERVER_0_TLS_KEY_FILE` (and set `HTTP_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 set `server.0.tls.enabled: true`)
|
|
* `tls.key_file` -> `server.0.tls.key_file` (and set `server.0.tls.enabled: true`)
|
|
|
|
## [0.25.1] - 2022-11-30
|
|
|
|
### Fixed
|
|
- Download zip archive when `FilePath` is invalid (#222)
|
|
- Only one peer must be healthy to init pool (#233)
|
|
|
|
### Added
|
|
- Debian packaging (#223)
|
|
- Timeout for individual operations in streaming RPC (#234)
|
|
|
|
## [0.25.0] - 2022-10-31
|
|
|
|
### Added
|
|
- Config reloading on SIGHUP (#200, #208)
|
|
- Stop pool dial on SIGINT (#212)
|
|
- Makefile help (#213)
|
|
|
|
### Changed
|
|
- 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
|
|
|
|
### Fixed
|
|
- Fix expiration epoch calculation (#198)
|
|
- Fix panic on go1.19 (#188)
|
|
|
|
### Added
|
|
- Exposure of pool metrics (#179, #194)
|
|
|
|
### Changed
|
|
- 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
|
|
|
|
### Added
|
|
- New param to configure pool error threshold (#184)
|
|
|
|
### Changed
|
|
- Pprof and prometheus metrics configuration (#171)
|
|
- Drop GO111MODULES from builds (#182)
|
|
|
|
### Updating from v0.22.0
|
|
1. To enable pprof use `pprof.enabled` instead of `pprof` in config.
|
|
To enable prometheus metrics use `prometheus.enabled` instead of `metrics` in config.
|
|
If you are using the command line flags you can skip this step.
|
|
|
|
## [0.22.0] - 2022-07-25
|
|
|
|
### Added
|
|
- Default params documentation (#172)
|
|
- Health metric (#175)
|
|
|
|
### Changed
|
|
- Version output (#169)
|
|
- Updated SDK Version (#178)
|
|
|
|
## [0.21.0] - 2022-06-20
|
|
|
|
### Fixed
|
|
- Downloading ZIP archive using streaming (#163)
|
|
|
|
### Added
|
|
- New make target to build app in docker (#159)
|
|
|
|
### Changed
|
|
- 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
|
|
|
|
### Fixed
|
|
- Get rid of data race on server shutdown (#145)
|
|
- Improved English in docs and comments (#153)
|
|
- Use `FilePath` to download zip (#150)
|
|
|
|
### Added
|
|
- Support container name NNS resolving (#142)
|
|
|
|
### Changed
|
|
- 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
|
|
|
|
### Fixed
|
|
- Uploading object with zero payload (#122)
|
|
- Different headers format in GET and HEAD (#125)
|
|
- Fixed project name in docs (#120)
|
|
|
|
### Added
|
|
- Support object attributes with spaces (#123)
|
|
|
|
### Changed
|
|
- 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
|
|
|
|
### Fixed
|
|
- System headers format (#111)
|
|
|
|
### Added
|
|
- Different formats to set object's expiration: in epoch, duration, timestamp,
|
|
RFC3339 (#108)
|
|
- Support of nodes priority (#115)
|
|
|
|
### Changed
|
|
- Updated testcontainers dependency (#100)
|
|
|
|
## [0.17.0] - 2021-11-15
|
|
|
|
Support of bulk file download with zip streams and various bug fixes.
|
|
|
|
### Fixed
|
|
- 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)
|
|
|
|
### Added
|
|
- Integration tests with [all-in-one](https://github.com/nspcc-dev/neofs-aio/)
|
|
test containers (#85, #94)
|
|
- Bulk download support with zip streams (#92, #96)
|
|
|
|
## 0.16.1 (28 Jul 2021)
|
|
|
|
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)
|
|
|
|
## 0.16.0 (29 Jun 2021)
|
|
|
|
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)
|
|
|
|
## 0.15.2 (22 Jun 2021)
|
|
|
|
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)
|
|
|
|
## 0.15.1 (24 May 2021)
|
|
|
|
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)
|
|
|
|
## 0.15.0 (30 Apr 2021)
|
|
|
|
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 of `X-*` (#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)
|
|
|
|
## Older versions
|
|
|
|
Please refer to [Github
|
|
releases](https://github.com/nspcc-dev/neofs-http-gw/releases/) for older
|
|
releases.
|
|
|
|
[0.17.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.16.1...v0.17.0
|
|
[0.18.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.17.0...v0.18.0
|
|
[0.19.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.18.0...v0.19.0
|
|
[0.20.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.19.0...v0.20.0
|
|
[0.21.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.20.0...v0.21.0
|
|
[0.22.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.21.0...v0.22.0
|
|
[0.23.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.22.0...v0.23.0
|
|
[0.24.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.23.0...v0.24.0
|
|
[0.25.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.24.0...v0.25.0
|
|
[0.25.1]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.25.0...v0.25.1
|
|
[0.26.0]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.25.1...v0.26.0
|
|
[Unreleased]: https://github.com/nspcc-dev/neofs-http-gw/compare/v0.26.0...master
|