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 2026Releases
latest 53-
0.7.019 Aug 2026Release notes
Open source →- Remove the experimental
experimental-io-uringcrate feature and its implementation, including theNamedFile::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
Fileswhenuse_hidden_files()is enabled and request paths contain.segments. - Fix
NamedFilepanic when serving files with pre-UNIX epoch modification times. - Fix invalid
Content-Encoding: identityheader inNamedFilerange responses.
Release notes
Open source →- Remove the experimental
experimental-io-uringcrate feature and its implementation, including theNamedFile::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
Fileswhenuse_hidden_files()is enabled and request paths contain.segments. - Fix
NamedFilepanic when serving files with pre-UNIX epoch modification times. - Fix invalid
Content-Encoding: identityheader inNamedFilerange responses.
- Remove the experimental
-
0.6.1006 Feb 2026Release notes
Open source →Security Notice
We addressed 2 vulnerabilities in this release:
- Do not panic with empty Range header.
- Avoid serving CWD on invalid
Files::newinputs.
We encourage updating your
actix-filesversion as soon as possible.Other changes
- Minimum supported Rust version (MSRV) is now 1.88.
PathBufWrap&UriSegmentErrormade public. #3694
-
0.6.926 Nov 2025 -
0.6.815 Sep 2025Release notes
Open source →- Add
Files::with_permanent_redirect()method. - Change default redirect status code to 307 Temporary Redirect.
- Add
-
0.6.729 Aug 2025Release notes
Open source →- Add
{Files, NamedFile}::read_mode_threshold()methods to allow faster synchronous reads of small files. - Minimum supported Rust version (MSRV) is now 1.75.
- Add
-
0.6.609 Jun 2024Release notes
Open source →- Update
tokio-uringdependency to0.4. - Minimum supported Rust version (MSRV) is now 1.72.
- Update
-
0.6.510 Jan 2024 -
0.6.406 Jan 2024Release notes
Open source →- Fix handling of newlines in filenames.
- Minimum supported Rust version (MSRV) is now 1.68 due to transitive
timedependency.
-
0.6.223 Jul 2022Release notes
Open source →- Allow partial range responses for video content to start streaming sooner. #2817
- Minimum supported Rust version (MSRV) is now 1.57 due to transitive
timedependency.
-
0.6.111 Jun 2022Release notes
Open source →- Add
NamedFile::{modified, metadata, content_type, content_disposition, encoding}()getters. #2021 - Update
tokio-uringdependency to0.3. - Audio files now use
Content-Disposition: inlineinstead ofattachment. #2645 - Minimum supported Rust version (MSRV) is now 1.56 due to transitive
hashbrowndependency.
- Add
-
0.6.025 Feb 2022 -
0.6.0-beta.1601 Feb 2022 pre-release -
0.6.0-beta.1521 Jan 2022 pre-release -
0.6.0-beta.1414 Jan 2022 pre-releaseRelease notes
Open source →- The
prefer_utf8option introduced in0.4.0is now true by default. #2583
- The
-
0.6.0-beta.1304 Jan 2022 pre-release -
0.6.0-beta.1229 Dec 2021 pre-release -
0.6.0-beta.1127 Dec 2021 pre-release -
0.6.0-beta.1011 Dec 2021 pre-release -
0.6.0-beta.922 Nov 2021 pre-releaseRelease notes
Open source →- 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
Responderimpl forNamedFilenow has a boxed future associated type. #2408 - The
Serviceimpl forNamedFileServicenow has a boxed future associated type. #2408 - Add
impl CloneforFilesService. #2408
- Add crate feature
-
0.6.0-beta.820 Oct 2021 pre-release -
0.6.0-beta.709 Sep 2021 pre-release -
0.6.0-beta.626 Jun 2021 pre-release -
0.6.0-beta.519 Jun 2021 pre-releaseRelease notes
Open source →NamedFilenow implementsServiceFactoryandHttpServiceFactorymaking it much more useful in routing. For example, it can be used directly as a default service. #2135- For symbolic links,
Content-Dispositionheader no longer shows the filename of the original file. #2156 Files::redirect_to_slash_directory()now works as expected when used withFiles::show_files_listing(). #2225application/{javascript, json, wasm}mime type now haveinlinedisposition by default. #2257
-
0.6.0-beta.402 Apr 2021 pre-releaseRelease notes
Open source →- Add support for
.guardinFilesto selectively filterFilesservices. #2046
- Add support for
-
0.6.0-beta.310 Mar 2021 pre-release -
0.6.0-beta.210 Feb 2021 pre-release -
0.6.0-beta.107 Jan 2021 pre-release -
0.5.026 Dec 2020 -
0.4.124 Nov 2020 -
0.4.006 Oct 2020Release notes
Open source →- Add
Files::prefer_utf8option that adds UTF-8 charset on certain response types. #1714
- Add
-
0.3.011 Sep 2020 -
0.3.0-beta.116 Jul 2020 pre-releaseRelease notes
Open source →- Update
v_htmlescapeto 0.10 - Update
actix-webandactix-httpdependencies to beta.1
- Update
-
0.3.0-alpha.124 May 2020 pre-releaseRelease notes
Open source →- Update
actix-webandactix-httpdependencies 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
- Update
-
0.2.226 May 2020 -
0.2.122 Dec 2019 -
0.2.020 Dec 2019 -
0.2.0-alpha.307 Dec 2019 pre-releaseNothing published for this version
-
0.2.0-alpha.203 Dec 2019 pre-releaseNothing published for this version
-
0.2.0-alpha.122 Nov 2019 pre-release -
0.1.706 Nov 2019Release notes
Open source →- Add an additional
filename*param in theContent-Dispositionheader ofactix_files::NamedFileto be more compatible. (#1151)
- Add an additional
-
0.1.614 Oct 2019 -
0.1.508 Oct 2019Release notes
Open source →- Bump up
mime_guesscrate version to 2.0.1 - Bump up
percent-encodingcrate version to 2.1 - Allow user defined request guards for
Files#1113
- Bump up
-
0.1.420 Jul 2019 -
0.1.328 Jun 2019 -
0.1.213 Jun 2019Release notes
Open source →- Content-Length is 0 for NamedFile HEAD request #914
- Fix ring dependency from actix-web default features for #741
-
0.1.102 Jun 2019Release notes
Open source →- Static files are incorrectly served as both chunked and with length #812
-
0.1.025 May 2019Release notes
Open source →- NamedFile last-modified check always fails due to nano-seconds in file modified date #820
-
0.1.0-betsa.121 Apr 2019 pre-release withdrawnNothing published for this version
-
0.1.0-beta.412 May 2019 pre-release -
0.1.0-alpha.614 Apr 2019 pre-release -
0.1.0-alpha.408 Apr 2019 pre-release -
0.1.0-alpha.203 Apr 2019 pre-releaseRelease notes
Open source →- Added TestServerRuntime::load_body() method
- Update actix-http and awc libraries
-
0.1.0-alpha.128 Mar 2019 pre-release