v0.4.0 ctl
Production ready implementations.
A smaller release to improve the experience working with Kvarn.
Notably, a kvarnctl executable allows you to change a running Kvarn instance, including restarting the server in-place, with zero downtime.
Added
- A
kvarnctlexecutable to control the running Kvarn instance.- Implement all methods used in
kvarn-reference - Plugins to add interfaces to Kvarn which can be accessed through
kvarnctl. - Shell completion for most commonly used methods in
kvarnctl.
- Implement all methods used in
- Extension system doesn't use unsafe!
- Reading host names from certificate. (commit)
- Graceful restart through systemd service
- doc_cfg (implemented through use of doc_auto_cfg).
- noonce implementation
- Parallel handling of requests per connection.
- Control over which compression method to prefer/use. (commit)
- Kvarn Search, an easy to integrate site search engine for Kvarn.
- API to access/remove extensions after they've been mounted.
- Added option to change directory where Kvarn gets it's error responses from.
- Shell completion to all binaries.
Changed
Fixed
- Correct PHP/FastCGI implementation.
- Percent decoding of requests
- Fixed small bug where Kvarn would emit multiple
charset=utf-8attributes forcontent-type. - Dependency clean-up.
- Proper handling of clients closing HTTP/2 streams.
- Fix issues with several present extensions.
utils::parse::query.- All components of Kvarn are now shut down when you drop Kvarn's references. No memory leaks.
- Hosts are now recognized even if they are accessed through their FQDN.
Improved
- Stability improvements
- Production ready reverse proxy.
- Improvements to cargo feature in documentation.
- Major improvements to Chute
- Removed insecure
chronodependency in favour oftime. - Removed many redundant allocations.
- Improve template performance.
- Improved
handle_cache. You can now just get a response from Kvarn, with a guarantee of no error arising. - Cache performance
- Limiting performance
- Testing on CI for all crates.
- Debug implementations are less prone to errors and easier to maintain.