4.9 KiB
4.9 KiB
CHANGELOG
0.8.0 (Unreleased)
- 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-liband 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.
0.7.1 -- 0.7.2
- deps and patches
0.7.0
Important Changes
- Breaking:
hyper-1.0 for both server and client modules. - Breaking: Remove
override_hostoption in upstream options. Add a reverse option, i.e.,keep_original_host, and the similar optionset_upstream_host. Whilekeep_original_hostcan be explicitly specified,rpxykeeps the originalhostgiven by the incoming request by default. Then, the originalhostheader is maintained or added from the value of url request line. Ifhostheader needs to be overridden with the upstream host name (backend uri's host name),set_upstream_hosthas to be set. If both ofset_upstream_hostandkeep_original_hostare set,keep_original_hostis prioritized since it is explicitly specified. - Breaking: Introduced
native-tls-backendfeature to use the native TLS engine to access backend applications. - Breaking: Changed the policy of the default cert store from
webpkito the system-native store. Thus we terminated the featurenative-rootsand introducedwebpki-rootsfeature to usewebpkiroot cert store.
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::Streamandfutures::channel::mpsc - Feat: Allow to disable/enable forced-connection-timeout regardless of connection status (idle or not). [default: disabled]
- Refactor: lots of minor improvements
0.6.2
Improvement
- Feat: Add a build feature of
native-rootsto use the system's default root cert store. - Feat: Add binary release in addition to container release
- Refactor: lots of minor improvements
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".
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) - 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.)
- Refactor: lots of minor improvements
Bugfix
- Fix: fix
serverin the response header (rpxy_lib->rpxy) - Fix: fix bug for hot-reloading configuration file (Add termination notification receiver in proxy services)
0.5.0
Improvement
- Feat:
s2n-quicwiths2n-quic-h3is supported as QUIC and HTTP/3 library in addition toquinnwithh3-quinn, related to #57. - Feat: Publish dockerfile for
rpxywiths2n-quicon bothamd64andarm64. - Feat: Start to publish docker images on
ghcr.io - Refactor: logs of minor improvements
0.4.0
Improvement
- Feat: Continuous watching on a specified config file and hot-reloading the file when updated
- Feat: Enabled to specify TCP listen backlog in the config file
- Feat: Add a GitHub action to build
arm64docker image. - Bench: Add benchmark result on
amd64architecture. - Refactor: Split
rpxyintorpxy-libandrpxy-bin - Refactor: lots of minor improvements
Bugfix
- Fix bug to apply default backend application
0.3.0
Improvement
- HTTP/3 Deps: Update
h3withquinn-0.10or higher. But changed their crates fromcrates.iotogit submoduleas a part of work around. I think this will be back tocrates.ioin a near-future update. - Load Balancing: Implement the session persistance function for load balancing using sticky cookie (initial implementation). Enabled in
default-features. - Docker UID:GID: Update
Dockerfiles to allow arbitrary UID and GID (non-root users) for rpxy. Now they can be set as you like by specifying through env vars. - Refactor: Various minor improvements
0.2.0
Improvement
- Update docker of
nightlybuilt fromdevelopbranch along withamd64-slimandamd64images withlatestandlatest:slimtags built frommainbranch.nightlyimage is based onamd64. - Update
h3withquinn-0.10or higher. - Implement path replacing option for each reverse proxy backend group.