PackageTrack
Sign in Get early access

actix-files

Static file serving for Actix Web

0.7.0 12M downloads/mo #2855 most downloaded on crates.io actix/actix-web

What this package is like to depend on

Last release 4 days ago

19 Aug 2026

Release timing varies

gaps range from 2 weeks to 1.5 years

Nearly every release is documented

notes for 26 of 26 stable releases

1 version withdrawn

withdrawn after publishing

7 years old

53 releases · first in 2019

5 releases in the last 12 months

see the full history below

Release timeline

53 releases · Mar 2019 to Aug 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 53
  1. 0.7.0 19 Aug 2026
    Release notes
    • Remove the experimental experimental-io-uring crate feature and its implementation, including the NamedFile::open_async() method.
    • Add support for passing multiple root directories to Files::new.
    • Add Files::try_compressed() to support serving pre-compressed static files.
    • Fix handling of Range: bytes=0-.
    • Fix panic in Files when use_hidden_files() is enabled and request paths contain . segments.
    • Fix NamedFile panic when serving files with pre-UNIX epoch modification times.
    • Fix invalid Content-Encoding: identity header in NamedFile range responses.
    Open source →
    Release notes
    • Remove the experimental experimental-io-uring crate feature and its implementation, including the NamedFile::open_async() method.
    • Add support for passing multiple root directories to Files::new.
    • Add Files::try_compressed() to support serving pre-compressed static files.
    • Fix handling of Range: bytes=0-.
    • Fix panic in Files when use_hidden_files() is enabled and request paths contain . segments.
    • Fix NamedFile panic when serving files with pre-UNIX epoch modification times.
    • Fix invalid Content-Encoding: identity header in NamedFile range responses.
    Open source →
  2. 0.6.10 06 Feb 2026
    Release notes

    Security Notice

    We addressed 2 vulnerabilities in this release:

    • Do not panic with empty Range header.
    • Avoid serving CWD on invalid Files::new inputs.

    We encourage updating your actix-files version as soon as possible.

    Other changes

    • Minimum supported Rust version (MSRV) is now 1.88.
    • PathBufWrap & UriSegmentError made public. #3694
    Open source →
  3. 0.6.9 26 Nov 2025
    Release notes
    • Correct derive_more dependency feature requirements.
    Open source →
  4. 0.6.8 15 Sep 2025
    Release notes
    • Add Files::with_permanent_redirect() method.
    • Change default redirect status code to 307 Temporary Redirect.
    Open source →
  5. 0.6.7 29 Aug 2025
    Release notes
    • Add {Files, NamedFile}::read_mode_threshold() methods to allow faster synchronous reads of small files.
    • Minimum supported Rust version (MSRV) is now 1.75.
    Open source →
  6. 0.6.6 09 Jun 2024
    Release notes
    • Update tokio-uring dependency to 0.4.
    • Minimum supported Rust version (MSRV) is now 1.72.
    Open source →
  7. 0.6.5 10 Jan 2024
    Release notes
    • Fix handling of special characters in filenames.
    Open source →
  8. 0.6.4 06 Jan 2024
    Release notes
    • Fix handling of newlines in filenames.
    • Minimum supported Rust version (MSRV) is now 1.68 due to transitive time dependency.
    Open source →
  9. 0.6.2 23 Jul 2022
    Release notes
    • Allow partial range responses for video content to start streaming sooner. #2817
    • Minimum supported Rust version (MSRV) is now 1.57 due to transitive time dependency.
    Open source →
  10. 0.6.1 11 Jun 2022
    Release notes
    • Add NamedFile::{modified, metadata, content_type, content_disposition, encoding}() getters. #2021
    • Update tokio-uring dependency to 0.3.
    • Audio files now use Content-Disposition: inline instead of attachment. #2645
    • Minimum supported Rust version (MSRV) is now 1.56 due to transitive hashbrown dependency.
    Open source →
  11. 0.6.0 25 Feb 2022
    Release notes
    • No significant changes since 0.6.0-beta.16.
    Open source →
  12. 0.6.0-beta.16 01 Feb 2022 pre-release
    Release notes
    • No significant changes since 0.6.0-beta.15.
    Open source →
  13. 0.6.0-beta.15 21 Jan 2022 pre-release
    Release notes
    • No significant changes since 0.6.0-beta.14.
    Open source →
  14. 0.6.0-beta.14 14 Jan 2022 pre-release
    Release notes
    • The prefer_utf8 option introduced in 0.4.0 is now true by default. #2583
    Open source →
  15. 0.6.0-beta.13 04 Jan 2022 pre-release
    Release notes
    • The Files service now rejects requests with URL paths that include %2F (decoded: /). #2398
    • The Files service now correctly decodes %25 in the URL path to % for the file path. #2398
    • Minimum supported Rust version (MSRV) is now 1.54.
    Open source →
  16. 0.6.0-beta.12 29 Dec 2021 pre-release
    Release notes
    • No significant changes since 0.6.0-beta.11.
    Open source →
  17. 0.6.0-beta.11 27 Dec 2021 pre-release
    Release notes
    • No significant changes since 0.6.0-beta.10.
    Open source →
  18. 0.6.0-beta.10 11 Dec 2021 pre-release
    Release notes
    • No significant changes since 0.6.0-beta.9.
    Open source →
  19. 0.6.0-beta.9 22 Nov 2021 pre-release
    Release notes
    • Add crate feature experimental-io-uring, enabling async file I/O to be utilized. This feature is only available on Linux OSes with recent kernel versions. This feature is semver-exempt. #2408
    • Add NamedFile::open_async. #2408
    • Fix 304 Not Modified responses to omit the Content-Length header, as per the spec. #2453
    • The Responder impl for NamedFile now has a boxed future associated type. #2408
    • The Service impl for NamedFileService now has a boxed future associated type. #2408
    • Add impl Clone for FilesService. #2408
    Open source →
  20. 0.6.0-beta.8 20 Oct 2021 pre-release
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.52.
    Open source →
  21. 0.6.0-beta.7 09 Sep 2021 pre-release
    Release notes
    • Minimum supported Rust version (MSRV) is now 1.51.
    Open source →
  22. 0.6.0-beta.6 26 Jun 2021 pre-release
    Release notes
    • Added Files::path_filter(). #2274
    • Files::show_files_listing() can now be used with Files::index_file() to show files listing as a fallback when the index file is not found. #2228
    Open source →
  23. 0.6.0-beta.5 19 Jun 2021 pre-release
    Release notes
    • NamedFile now implements ServiceFactory and HttpServiceFactory making it much more useful in routing. For example, it can be used directly as a default service. #2135
    • For symbolic links, Content-Disposition header no longer shows the filename of the original file. #2156
    • Files::redirect_to_slash_directory() now works as expected when used with Files::show_files_listing(). #2225
    • application/{javascript, json, wasm} mime type now have inline disposition by default. #2257
    Open source →
  24. 0.6.0-beta.4 02 Apr 2021 pre-release
    Release notes
    • Add support for .guard in Files to selectively filter Files services. #2046
    Open source →
  25. 0.6.0-beta.3 10 Mar 2021 pre-release
    Release notes
    • No notable changes.
    Open source →
  26. 0.6.0-beta.2 10 Feb 2021 pre-release
    Release notes
    • Fix If-Modified-Since and If-Unmodified-Since to not compare using sub-second timestamps. #1887
    • Replace v_htmlescape with askama_escape. #1953
    Open source →
  27. 0.6.0-beta.1 07 Jan 2021 pre-release
    Release notes
    • HttpRange::parse now has its own error type.
    • Update bytes to 1.0. #1813
    Open source →
  28. 0.5.0 26 Dec 2020
    Release notes
    • Optionally support hidden files/directories. #1811
    Open source →
  29. 0.4.1 24 Nov 2020
    Release notes
    • Clarify order of parameters in Files::new and improve docs.
    Open source →
  30. 0.4.0 06 Oct 2020
    Release notes
    • Add Files::prefer_utf8 option that adds UTF-8 charset on certain response types. #1714
    Open source →
  31. 0.3.0 11 Sep 2020
    Release notes
    • No significant changes from 0.3.0-beta.1.
    Open source →
  32. 0.3.0-beta.1 16 Jul 2020 pre-release
    Release notes
    • Update v_htmlescape to 0.10
    • Update actix-web and actix-http dependencies to beta.1
    Open source →
  33. 0.3.0-alpha.1 24 May 2020 pre-release
    Release notes
    • Update actix-web and actix-http dependencies to alpha
    • Fix some typos in the docs
    • Bump minimum supported Rust version to 1.40
    • Support sending Content-Length when Content-Range is specified #1384
    Open source →
  34. 0.2.2 26 May 2020
    Release notes
    • Add .put() and .sput() methods
    Open source →
  35. 0.2.1 22 Dec 2019
    Release notes
    • Use the same format for file URLs regardless of platforms
    Open source →
    Release notes
    • Add license files
    Open source →
  36. 0.2.0 20 Dec 2019
    Release notes
    • Fix BodyEncoding trait import #1220
    Open source →
    Release notes
    • Update awc and actix-http deps
    Open source →
  37. 0.2.0-alpha.3 07 Dec 2019 pre-release

    Nothing published for this version

  38. 0.2.0-alpha.2 03 Dec 2019 pre-release

    Nothing published for this version

  39. 0.2.0-alpha.1 22 Nov 2019 pre-release
    Release notes
    • Migrate to std::future
    Open source →
  40. 0.1.7 06 Nov 2019
    Release notes
    • Add an additional filename* param in the Content-Disposition header of actix_files::NamedFile to be more compatible. (#1151)
    Open source →
  41. 0.1.6 14 Oct 2019
    Release notes
    • Add option to redirect to a slash-ended path Files #1132
    Open source →
  42. 0.1.5 08 Oct 2019
    Release notes
    • Bump up mime_guess crate version to 2.0.1
    • Bump up percent-encoding crate version to 2.1
    • Allow user defined request guards for Files #1113
    Open source →
  43. 0.1.4 20 Jul 2019
    Release notes
    • Allow to disable Content-Disposition header #686
    Open source →
  44. 0.1.3 28 Jun 2019
    Release notes
    • Do not set Content-Length header, let actix-http set it #930
    Open source →
  45. 0.1.2 13 Jun 2019
    Release notes
    • Content-Length is 0 for NamedFile HEAD request #914
    • Fix ring dependency from actix-web default features for #741
    Open source →
  46. 0.1.1 02 Jun 2019
    Release notes
    • Static files are incorrectly served as both chunked and with length #812
    Open source →
    Release notes
    • Always make new connection for http client
    Open source →
  47. 0.1.0 25 May 2019
    Release notes
    • NamedFile last-modified check always fails due to nano-seconds in file modified date #820
    Open source →
    Release notes
    • No changes
    Open source →
  48. 0.1.0-betsa.1 21 Apr 2019 pre-release withdrawn

    Nothing published for this version

  49. 0.1.0-beta.4 12 May 2019 pre-release
    Release notes
    • Update actix-web to beta.4
    Open source →
  50. 0.1.0-alpha.6 14 Apr 2019 pre-release
    Release notes
    • Update actix-web to alpha6
    Open source →
  51. 0.1.0-alpha.4 08 Apr 2019 pre-release
    Release notes
    • Update actix-web to alpha4
    Open source →
  52. 0.1.0-alpha.2 03 Apr 2019 pre-release
    Release notes
    • Add default handler support
    Open source →
    Release notes
    • Added TestServerRuntime::load_body() method
    • Update actix-http and awc libraries
    Open source →
  53. 0.1.0-alpha.1 28 Mar 2019 pre-release
    Release notes
    • Initial impl
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive