rust-embed
Rust Custom Derive Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev
8.12.0
48M downloads/mo
#1256 most downloaded on crates.io
source
What this package is like to depend on
Last release 1 months ago
08 Jul 2026
Release timing varies
gaps range from 8 days to 8 months
Nearly every release is documented
notes for 55 of 61 stable releases
6 versions withdrawn
withdrawn after publishing
9 years old
67 releases · first in 2017
5 releases in the last 12 months
see the full history below
Release timeline
67 releases · Mar 2017 to Jul 2026Releases
latest 60 of 67-
8.12.008 Jul 2026Release notes
Open source →- Fix embedded data being duplicated in binary. Thanks to [email protected].
- Make Way to avoid compile failure on undefined env. Thanks to Tommy Yu [email protected].
- Remove redundant
Option/.unwrap()and comment. Thanks to Tommy Yu [email protected]. - Fix folder_path not being an Option. Thanks to Tommy Yu [email protected].
- Fix mime guess host/target issue. Thanks to David Tolnay [email protected].
- Fix rust-embed-utils is built twice when cross-compiling. Thanks to David Tolnay [email protected].
- Add support to get files data compressed. Thanks to Hugues Morisset [email protected].
- Rename symlinks and readme files to uppercase for consistency. Thanks to pyrossh.
-
8.11.014 Jan 2026 -
8.10.013 Jan 2026 withdrawnRelease notes
Open source →- RustEmbed::iter(): replace concrete return type with generic iterator, to make it easier to implement an empty fake embed. Thanks to Johannes Altmanninger [email protected].
-
8.9.002 Nov 2025Release notes
Open source →- Ignore paths that couldn't be canonicalized. Thanks to zvolin [email protected].
-
8.8.018 Oct 2025Nothing published for this version
-
8.7.214 May 2025 -
8.7.105 May 2025 -
8.7.010 Apr 2025Release notes
Open source →- add deterministic timestamps flag for deterministic builds #259. Thanks to daywalker90
-
8.6.025 Feb 2025Release notes
Open source →- Update include-flate to 0.3 #246. Thanks to krant
- refactor: remove redundant reference and closure #250. Thanks to hamirmahal
- refactor: replace map().unwrap_or_else(). #250. Thanks to hamirmahal
- Compatible with Axum 0.7.9 #253. Thanks to wkmyws
- Add allow_missing option to derive macro #256. Thanks to lirannl
-
8.5.009 Jul 2024 -
8.4.011 May 2024Release notes
Open source →- Re-export RustEmbed as Embed #245. Thanks to pyrossh
- Do not build glob matchers repeatedly when include-exclude feature is enabled #244. Thanks to osiewicz
- Add
metadata_onlyattribute #241. Thanks to ddfisher - Replace
expectwith a safer alternative that returnsNoneinstead #240. Thanks to costinsin - Eliminate unnecessary
to_pathcall #239. Thanks to smoelius
-
8.3.026 Feb 2024 -
8.2.029 Dec 2023 -
8.1.008 Dec 2023 -
8.0.023 Aug 2023Release notes
Open source → -
6.8.130 Jun 2023Release notes
Open source → -
6.8.030 Jun 2023 -
6.7.008 Jun 2023 -
6.6.125 Mar 2023 -
6.6.005 Mar 2023 -
6.5.022 Nov 2022 withdrawnNothing published for this version
-
6.4.220 Oct 2022Release notes
Open source →- Fail the proc macro if include/exclude are used without the feature #187
-
6.4.112 Sep 2022 -
6.4.015 Apr 2022 -
6.3.028 Nov 2021 -
6.2.001 Sep 2021 -
6.1.031 Aug 2021 -
6.0.121 Aug 2021 -
6.0.001 Aug 2021Release notes
Open source →Idea came about from Cody Casterline
- Breaking change the
Asset::get()api has changed and now returns anEmbeddedFilewhich contains adatafield which is the bytes of the file and ametadatafield which has theses 2 properties associated to the filehashandlast_modified;
- Breaking change the
-
5.9.018 Jan 2021 -
5.8.006 Jan 2021 -
5.7.008 Dec 2020 -
5.6.019 Jul 2020Release notes
Open source →Fixed
- Fixed windows path error in release mode
Changed
- Using github actions for CI now
-
5.5.119 Mar 2020 -
5.5.026 Feb 2020Release notes
Open source →Fixed
- Fixed the
folderdirectory being relative to the current directory. It is now relative toCargo.toml.
- Fixed the
-
5.4.025 Feb 2020Release notes
Open source →Changed
- using rust-2018 edition now
- code cleanup
- updated examples and crates
-
5.3.015 Feb 2020 -
5.2.010 Dec 2019Nothing published for this version
-
5.1.010 Jul 2019Nothing published for this version
-
5.0.509 Jul 2019 withdrawnNothing published for this version
-
5.0.409 Jul 2019 withdrawnNothing published for this version
-
5.0.309 Jul 2019 withdrawnNothing published for this version
-
5.0.209 Jul 2019 withdrawnNothing published for this version
-
5.0.109 Jul 2019Nothing published for this version
-
5.0.005 Jul 2019Nothing published for this version
-
4.5.029 Jun 2019Nothing published for this version
-
4.4.013 May 2019 -
4.3.009 Jan 2019Release notes
Open source →Fixed
- debug_embed feature was not working at all
Added
- a test run for debug_embed feature
-
4.2.003 Dec 2018 -
4.1.024 Oct 2018 -
4.0.011 Oct 2018 -
3.0.205 Sep 2018Release notes
Open source →Added
- appveyor for testing on windows
Fixed
- handle paths in windows correctly
-
3.0.124 Jul 2018 -
3.0.002 Jun 2018Release notes
Open source →Changed
- The derive attribute style so we don't need
attr_literalsand it can be used in stable rust now. Thanks to Mcat12.
#[folder("assets/")]to
#[folder = "assets/"]Removed
- log dependecy as we are not using it anymore
- The derive attribute style so we don't need
-
2.0.026 May 2018Release notes
Open source →Changed
- Reimplemented the macro for release to use include_bytes for perf sake. Thanks to lukad.
-
1.1.118 Mar 2018 -
1.1.018 Mar 2018 -
1.0.018 Mar 2018Release notes
Open source →Changed
- Converted the rust-embed macro
embed!into a Rust Custom Derive Macro#[derive(RustEmbed)]which implements get on the struct
let asset = embed!("examples/public/")to
#[derive(RustEmbed)] #[folder = "examples/public/"] struct Asset; - Converted the rust-embed macro
-
0.5.216 Mar 2018 -
0.5.115 Mar 2018