This new v2.40.0 release introduces important security bug fixes, performance, resource, and binary size optimisations, rootless Debian and Alpine Docker images, support for content negotiation of Markdown files and other enhancements.
For more details about the changes, take a look at the corresponding PR and documentation links.
Fixes
- 55562a1 Update dependencies like rustls, tracing, async-compression, clap, bytes and others. [#582], [#589] by @joseluisq
- 0fedeb3 library: Crate documentation issues. [#583] by @joseluisq
Features
- ee4b049 Add
armv7-unknown-linux-gnueabihftarget. [#586] by @joseluisq - 2c25d82 Content negotiation for Markdown files via
Acceptheader. [#577] by @davlgd, see docs. - 326abbe library: Add
exit_on_erroroption toServer::run_server_on_rtfunction to control server termination. [#578] by @frnsys
Refactorings
- c66c791 Docker: Prefer dynamically-linked binaries for Debian Docker images, which reduces containers' memory usage significantly. [#588] by @joseluisq
- afddfd6 Drop
jemallocin favour ofmimallocfor MUSL targets, which reduces statically-linked binaries' memory usage. [#587] by @joseluisq - 557363e Replace
regexcrate withregex-liteto reduce binary size. [#581] by @joseluisq - b234984 Docker: Rootless Debian and Alpine Docker images, which reduce the attack surface and improve security. [#567] by @joseluisq, read the docs.
- Update for Docker users: Only if you are using the default
/publicdirectory as Docker volume without any--rootorSERVER_ROOTenv, then change it to point to/var/publicinstead or provide a custom root directory.
- Update for Docker users: Only if you are using the default
- d48da4c Simplify the default public directory of Docker image and default error pages, which improves the default index and error pages' responsiveness in the browser. [#579] by @joseluisq
- ce5b4fab Drop
lazy_staticand prefer fixed text mime types for dynamic compression. [#580] by @joseluisq - ea9f43f CI: Move perfcheck workflow behind a PR comment trigger. [#584] by @joseluisq
For more details see the v2.40.0 milestone and the full changelog v2.39.0...v2.40.0.