PackageTrack
Sign in Get early access

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 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 67
  1. 8.12.0 08 Jul 2026
    Release notes
    • 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.
    Open source →
  2. 8.11.0 14 Jan 2026
    Release notes
    • Fix RustEmbed::iter() signature as it was breaking the static lifetime.
    Open source →
  3. 8.10.0 13 Jan 2026 withdrawn
    Release notes
    • 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].
    Open source →
  4. 8.9.0 02 Nov 2025
    Release notes
    Open source →
  5. 8.8.0 18 Oct 2025

    Nothing published for this version

  6. 8.7.2 14 May 2025
    Release notes
    • Update repo links to sub-packages
    Open source →
  7. 8.7.1 05 May 2025
    Release notes
    • Update documentation and repo links
    Open source →
  8. 8.7.0 10 Apr 2025
    Release notes
    • add deterministic timestamps flag for deterministic builds #259. Thanks to daywalker90
    Open source →
  9. 8.6.0 25 Feb 2025
    Release notes
    • 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
    Open source →
  10. 8.5.0 09 Jul 2024
    Release notes
    • Allow users to specify a custom path to the rust_embed crate in generated code#232. Thanks to Wulf
    • Increase minimum rust-version to v1.7.0.0
    Open source →
  11. 8.4.0 11 May 2024
    Release notes
    • 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_only attribute #241. Thanks to ddfisher
    • Replace expect with a safer alternative that returns None instead #240. Thanks to costinsin
    • Eliminate unnecessary to_path call #239. Thanks to smoelius
    Open source →
  12. 8.3.0 26 Feb 2024
    Release notes
    Open source →
  13. 8.2.0 29 Dec 2023
    Release notes
    Open source →
  14. 8.1.0 08 Dec 2023
    Release notes
    Open source →
  15. 8.0.0 23 Aug 2023
    Release notes
    • Store file contents statically and use binary search for lookup. #217. Thanks to osiewicz
    Open source →
  16. 6.8.1 30 Jun 2023
    Release notes
    • Fix failing compilation under compression feature #182. Thanks to osiewicz
    Open source →
  17. 6.8.0 30 Jun 2023
    Release notes
    • Update include-flate to v0.2 #182
    Open source →
  18. 6.7.0 08 Jun 2023
    Release notes
    • Update syn to v2.0 #211
    Open source →
  19. 6.6.1 25 Mar 2023
    Release notes
    • Fix mime-guess feature not working properly #209
    Open source →
  20. 6.6.0 05 Mar 2023
    Release notes
    • sort_by_file_name() requires walkdir v2.3.2 #206
    • Add mime-guess feature to statically store mimetype #192
    Open source →
  21. 6.5.0 22 Nov 2022 withdrawn

    Nothing published for this version

  22. 6.4.2 20 Oct 2022
    Release notes
    • Fail the proc macro if include/exclude are used without the feature #187
    Open source →
  23. 6.4.1 12 Sep 2022
    Release notes
    • Update sha2 dependency version in utils crate #186
    Open source →
  24. 6.4.0 15 Apr 2022
    Release notes
    Open source →
  25. 6.3.0 28 Nov 2021
    Release notes
    • Fixed a security issue in debug mode #159. Thanks to 5225225
    Open source →
  26. 6.2.0 01 Sep 2021
    Release notes
    • Fixed include-exclude feature when using cargo v2 resolver
    Open source →
  27. 6.1.0 31 Aug 2021
    Release notes
    • Added include-exclude feature by mbme
    Open source →
  28. 6.0.1 21 Aug 2021
    Release notes
    • Added doc comments to macro generated functions
    Open source →
  29. 6.0.0 01 Aug 2021
    Release notes

    Idea came about from Cody Casterline

    • Breaking change the Asset::get() api has changed and now returns an EmbeddedFile which contains a data field which is the bytes of the file and a metadata field which has theses 2 properties associated to the file hash and last_modified;
    Open source →
  30. 5.9.0 18 Jan 2021
    Release notes

    Added

    • Added path prefix attribute
    Open source →
  31. 5.8.0 06 Jan 2021
    Release notes

    Fixed

    • Fixed compiling with latest version of syn
    Open source →
  32. 5.7.0 08 Dec 2020
    Release notes

    Fixed

    • Fix feature flag typo
    Open source →
  33. 5.6.0 19 Jul 2020
    Release notes

    Fixed

    • Fixed windows path error in release mode

    Changed

    • Using github actions for CI now
    Open source →
  34. 5.5.1 19 Mar 2020
    Release notes

    Fixed

    • Fixed warnings in latest nightly
    Open source →
  35. 5.5.0 26 Feb 2020
    Release notes

    Fixed

    • Fixed the folder directory being relative to the current directory. It is now relative to Cargo.toml.
    Open source →
  36. 5.4.0 25 Feb 2020
    Release notes

    Changed

    • using rust-2018 edition now
    • code cleanup
    • updated examples and crates
    Open source →
  37. 5.3.0 15 Feb 2020
    Release notes

    Added

    • compression feature for compressing embedded files
    Open source →
  38. 5.2.0 10 Dec 2019

    Nothing published for this version

  39. 5.1.0 10 Jul 2019

    Nothing published for this version

  40. 5.0.5 09 Jul 2019 withdrawn

    Nothing published for this version

  41. 5.0.4 09 Jul 2019 withdrawn

    Nothing published for this version

  42. 5.0.3 09 Jul 2019 withdrawn

    Nothing published for this version

  43. 5.0.2 09 Jul 2019 withdrawn

    Nothing published for this version

  44. 5.0.1 09 Jul 2019

    Nothing published for this version

  45. 5.0.0 05 Jul 2019

    Nothing published for this version

  46. 4.5.0 29 Jun 2019

    Nothing published for this version

  47. 4.4.0 13 May 2019
    Release notes

    Fixed

    • a panic when struct has doc comments

    Added

    • a warp example
    Open source →
  48. 4.3.0 09 Jan 2019
    Release notes

    Fixed

    • debug_embed feature was not working at all

    Added

    • a test run for debug_embed feature
    Open source →
  49. 4.2.0 03 Dec 2018
    Release notes

    Changed

    • return Cow<'static, [u8]> to preserve static lifetime
    Open source →
  50. 4.1.0 24 Oct 2018
    Release notes

    Added

    • iter() method to list files
    Open source →
  51. 4.0.0 11 Oct 2018
    Release notes

    Changed

    • avoid vector allocation by returning impl AsRef<[u8]>
    Open source →
  52. 3.0.2 05 Sep 2018
    Release notes

    Added

    • appveyor for testing on windows

    Fixed

    • handle paths in windows correctly
    Open source →
  53. 3.0.1 24 Jul 2018
    Release notes

    Added

    • panic if the folder cannot be found
    Open source →
  54. 3.0.0 02 Jun 2018
    Release notes

    Changed

    • The derive attribute style so we don't need attr_literals and 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
    Open source →
  55. 2.0.0 26 May 2018
    Release notes

    Changed

    • Reimplemented the macro for release to use include_bytes for perf sake. Thanks to lukad.
    Open source →
  56. 1.1.1 18 Mar 2018
    Release notes

    Changed

    • Fixed usage error message
    Open source →
  57. 1.1.0 18 Mar 2018
    Release notes

    Added

    • Release mode for custom derive

    Changed

    • Fixed tests in travis
    Open source →
  58. 1.0.0 18 Mar 2018
    Release notes

    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;
    
    Open source →
  59. 0.5.2 16 Mar 2018
    Release notes

    Added

    • rouille example
    Open source →
  60. 0.5.1 15 Mar 2018
    Release notes

    Removed

    • the plugin attribute from crate
    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