Releases: junkurihara/rust-rpxy
Releases · junkurihara/rust-rpxy
0.8.0-alpha.1
Improvements
- Change the certificate verifier from
rustls-native-certs
torustls-platform-verifier
to use the system's default root cert store for better client (forwarder) performance inhyper-rustls
.
What's Changed
- deps: update s2n quic and add copy of s2n-quic-h3 as submodule to avoid build failure by @junkurihara in #157
- feat: update features of hyper-rutstls with aws-lc-rs and platform-verifier by @junkurihara in #158
Full Changelog: 0.8.0-alpha.0...0.8.0-alpha.1
0.8.0-alpha.0
Important Changes
- Breaking: Support for
rustls
-0.23.x for http/1.1, 2 and 3. No configuration update is needed at this point. - Breaking: Along with
rustls
, the cert manager was split fromrpxy-lib
and moved to a new inner craterpxy-cert
. This change is to make the cert manager reusable for other projects and to support not only static file based certificates but also other types, e.g., dynamic fetching and management via ACME, in the future.
What's Changed
- chore(deps): bump ubuntu from 22.04 to 24.04 in /docker by @dependabot in #154
- feat: rustls-0.23 by @junkurihara in #156
Full Changelog: 0.7.1...0.8.0-alpha.0
0.7.1
updated dependencies, especially s2n-quic and its related packages
What's Changed
- 0.7.0 by @junkurihara in #148
- chore(deps): bump softprops/action-gh-release from 1 to 2 by @dependabot in #152
- 0.7.1 by @junkurihara in #153
Full Changelog: 0.7.0...0.7.1
0.7.0
Important Changes
- Breaking:
hyper
-1.0 for both server and client modules (#23). - Breaking: Remove
override_host
option in upstream options. Add a reverse option, i.e.,keep_original_host
, and the similar optionset_upstream_host
. Whilekeep_original_host
can be explicitly specified,rpxy
keeps the originalhost
given by the incoming request by default. Then, the originalhost
header is maintained or added from the value of url request line. Ifhost
header needs to be overridden with the upstream host name (backend uri's host name),set_upstream_host
has to be set. If both ofset_upstream_host
andkeep_original_host
are set,keep_original_host
is prioritized since it is explicitly specified (#133). - Breaking: Introduced
native-tls-backend
feature to use the native TLS engine to access backend applications. - Breaking: Changed the policy of the default cert store from
webpki
to the system-native store. Thus we terminated the featurenative-roots
and introducedwebpki-roots
feature to usewebpki
root cert store. (related to #95)
Improvement
- Redesigned: Cache structure is totally redesigned with more memory-efficient way to read from cache file, and more secure way to strongly bind memory-objects with files with hash values.
- Redesigned: HTTP body handling flow is also redesigned with more memory-and-time efficient techniques without putting the whole objects on memory by using
futures::stream::Stream
andfutures::channel::mpsc
- Feat: Allow to disable/enable forced-connection-timeout regardless of connection status (idle or not). [default: disabled]
- Refactor: lots of minor improvements
What's Changed
- feat: cache hyper 1.0 by @junkurihara in #127
- feat:hyper-1.0 by @junkurihara in #115
- Feat hyper 1.0 again by @junkurihara in #132
- fix: set upstream host in request header by default by @junkurihara in #136
- feat: support hyper-rustls along with hyper v1 by @junkurihara in #137
- refactor: reconsider http read header timeouts by @junkurihara in #138
- chore(deps): bump peter-evans/repository-dispatch from 2 to 3 by @dependabot in #143
- feat: allow to turn off forced connection timeout by @junkurihara in #144
- chore(deps): bump kaisugi/action-regex-match from 1.0.0 to 1.0.1 by @dependabot in #145
- 0.7.0 by @junkurihara in #147
Full Changelog: 0.6.2...0.7.0
0.6.2
Improvement
- Feat: Add a build feature of
native-roots
to use the system's default root cert store. Resolved #95 - Feat: Add binary release in addition to container release. Resolved #94
- Refactor: lots of minor improvements
What's Changed
- 0.6.1 by @junkurihara in #86
- Update docker_build_push.yml by @junkurihara in #92
- chore(deps): update lru requirement from 0.11.1 to 0.12.0 by @dependabot in #96
- feat: add a feature to use native root store for connection from proxy to the backend application by @junkurihara in #98
- feat: add docker build options for forwarder with native root store by @junkurihara in #99
- feat/extract binary and automatic draft release when tag get pushed by @junkurihara in #100
- 0.6.2 by @junkurihara in #101
- fix: fix release flow by @junkurihara in #102
- fix: release actions by @junkurihara in #103
- 0.6.2 by @junkurihara in #104
- 0.6.2 by @junkurihara in #105
Full Changelog: 0.6.1...0.6.2
0.6.1
Bugfix
- Fix: fix a "watch" bug for docker. Due to a docker limitation, we need to mount a dir, e.g,
/rpxy/config
, instead of a file,rpxy.toml
, to track changes of the configuration file. We thus updated a start up script in docker container for the case "WATCH=true".
What's Changed
- 0.6.0 by @junkurihara in #81
- update checkout@v4 by @junkurihara in #83
- chore(deps): bump actions/checkout from 3 to 4 by @dependabot in #82
- Fix/docker watch by @junkurihara in #84
- Merge pull request #81 from junkurihara/develop by @junkurihara in #85
Full Changelog: 0.6.0...0.6.1
0.6.0
Improvement
- Feat: Enabled
h2c
(HTTP/2 cleartext) requests to upstream app servers (in the previous versions, only HTTP/1.1 is allowed for cleartext requests) Resolves #74 - Feat: Initial implementation of caching feature using file + on memory cache. (Caveats: No persistance of the cache. Once config is updated, the cache is totally eliminated.) Resolves #55
- Refactor: lots of minor improvements
Bugfix
- Fix: fix
server
in the response header (rpxy_lib
->rpxy
) - Fix: fix bug for hot-reloading configuration file (Add termination notification receiver in proxy services)
What's Changed
- fix: fix bug in actions definition by @junkurihara in #69
- fix: fix bug in actions definition by @junkurihara in #70
- fix: revert with arm64 build by @junkurihara in #71
- refactor: update rustls and fix response header server name by @junkurihara in #75
- feat: changed options for http version of requests to upstream app servers by @junkurihara in #76
- fix: dynamic reloading of configuration by @junkurihara in #78
- feat: initial implementation of caching feature by @junkurihara in #79
- Refactor: Make cache feature code safer and clean by @junkurihara in #80
Full Changelog: 0.5.0...0.6.0
0.5.0
Improvement
- Feat:
s2n-quic
withs2n-quic-h3
is supported as QUIC and HTTP/3 library in addition toquinn
withh3-quinn
, related to #57. - Feat: Publish dockerfile for
rpxy
withs2n-quic
on bothamd64
andarm64
. - Feat: Start to publish docker images on
ghcr.io
in addition to Docker Hub - Refactor: logs of minor improvements
What's Changed
- fix: docs by @junkurihara in #53
- feat: s2n-quic implementation and its docker images by @junkurihara in #65
- 0.5.0 by @junkurihara in #66
- fix: bug in actions definition by @junkurihara in #67
- fix: bug in actions definition by @junkurihara in #68
Full Changelog: 0.4.0...0.5.0
0.4.0
Improvement
- Feat: Continuous watching on a specified config file and hot-reloading the file when updated, related to #33
- Feat: Enabled to specify TCP listen backlog in the config file
- Feat: Add a GitHub action to build
arm64
docker image. - Bench: Add benchmark result on
amd64
architecture. - Refactor: Split
rpxy
intorpxy-lib
andrpxy-bin
- Refactor: lots of minor improvements
Bugfix
- Fix bug to apply default backend application
What's Changed
- Clean up global object and change cert reloader pattern by @junkurihara in #54
- Refactor: preparing the rpxy librarization first step by @junkurihara in #56
- add benchmark result by @junkurihara in #60
- Feat (hot reloading a specified config file) + Refactor (split
rpxy
intorpxy-lib
andrpxy-bin
) by @junkurihara in #59 - fix dockerfile for arm64 by @junkurihara in #61
- feat: add a docker environment var for continuous watching by @junkurihara in #62
- refactor http handler by @junkurihara in #63
Full Changelog: 0.3.0...0.4.0