Skip to content

v2.30.0

Compare
Choose a tag to compare
@github-actions github-actions released this 28 Apr 22:57
v2.30.0
e24b2ec

This new v2.30.0 release brings security and dependency updates as well as several bug fixes. Overall performance improvements (directory listing particularly), continuous HTTP load testing benchmarks, project refactorings for increased stability, security and correctness as well as several other improvements.

This particular release addresses an security issue for the directory listing feature.
We encourage users using the directory listing to update as soon as possible.

Fixes

  • 6683446 Bugfix/security dependency updates including rustls, tokio, async-compression, regex, chrono, clap and other crates (also 8cfc7ed, a876cd5, 69bfdd4).
  • c04357e Missing custom headers for directory requests (trailing slash). PR #333.
  • 1c4fad2 CORS does not work properly when used with Basic Auth. PR #343 by @ms140569.
  • 528ed08 Accept-Encoding handling does not work correctly if only two compression schemes are available. PR #361 by @palant.
  • c8e39aa Errors due to "unused code" when features are disabled. PR #368 by @palant.
  • 5d66301 Unreserved characters are percent-encoded in directory listing links. PR #371.
  • 114862a Malformed UTF-8 file names are not handled correctly. PR #374 by @palant.

Features

Refactorings

  • a451a93 Improve performance when serving static files. PR #334.
  • e569a71 Reduce some allocations in several modules. PR #337.
  • 183102d Build error when using specific or no Cargo compression features. PR #339.
  • fe6a2a1 Move health endpoint-related code into a separate file. PR #344 by @palant.
  • cc6784a Move metrics endpoint-related code into a separate file. PR #345 by @palant.
  • 76531e6 Move all of Basic authentication logic into basic_auth module. PR #346 by @palant.
  • d44e5a1 Move all redirect handling logic into the redirects module. PR #348 by @palant.
  • e965933 Move most of the CORS-related code into the cors module. PR #349 by @palant.
  • 1246e37 Move most of maintenance mode logic into maintenance_mode module. PR #350 by @palant.
  • 941f692 Move various code related to header handling to the respective modules. PR #351 by @palant.
  • a13f496 Replaced fork of the headers module by an in-tree handler for the Accept-Encoding header. PR #354 by @palant.
  • 207fa4a Move all rewrite handling logic into the rewrites module. PR #353 by @palant.
  • c3c55a4 Prefer querying available cpus using Rust std. PR #358.
  • ddda871 Apply the usual post-processing to error responses for consistency. PR #359 by @palant.
  • cfd1390 Improve performance of directory listings. PR #357 by @palant.
  • 5a4035f Improve recognition of text MIME types for compression. PR #360 by @palant.
  • b66c89e Move all compression-related code into compression and compression_static modules. PR #369 by @palant.
  • 5b5ea98 Use maud templates and serde_json for directory listings. PR #367 by @palant.
  • f311e94 Move all fallback page logic into the corresponding module. PR #372 by @palant.
  • 7d61c91 Move directory listing initialization into the corresponding module. PR #373 by @palant.

Docs

For more details see v2.30.0 milestone and the full changelog v2.28.0...v2.30.0.