tauri-codegen-v2.7.0

tauri-apps/tauritauri-codegen-v2.7.0Sep 26, 2026by github-actions[bot]

Upgrading?

AI Summary

This minor release adds Windows-specific icon resource loading methods and fixes reproducibility issues related to asset hashing. It also updates dependency versions and standardizes on edition 2024 and MSRV.

Key Highlights

  • Added `Image::from_app_icon_resource` and `Image::from_icon_resource` on Windows.
  • Fixed embedded assets and CSP hashes to emit in sorted order for reproducible builds.
  • Selects the largest ICO entry instead of the first one.
  • Updated brotli to v9.
  • Updated `png` crate to 0.18.

New Features

  • Added `Image::from_app_icon_resource` and `Image::from_icon_resource` on Windows.

Full Release Notes

<details>
<summary><em><h4>Cargo Audit</h4></em></summary>

```
Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
      Loaded 1271 security advisories (from /home/runner/.cargo/advisory-db)
    Updating crates.io index
    Scanning Cargo.lock for vulnerabilities (1091 crate dependencies)
Crate:     fxhash
Version:   0.2.1
Warning:   unmaintained
Title:     fxhash - no longer maintained
Date:      2025-09-05
ID:        RUSTSEC-2025-0057
URL:       https://rustsec.org/advisories/RUSTSEC-2025-0057

Crate:     paste
Version:   1.0.15
Warning:   unmaintained
Title:     paste - no longer maintained
Date:      2024-10-07
ID:        RUSTSEC-2024-0436
URL:       https://rustsec.org/advisories/RUSTSEC-2024-0436

Crate:     rustls-pemfile
Version:   2.2.0
Warning:   unmaintained
Title:     rustls-pemfile is unmaintained
Date:      2025-11-28
ID:        RUSTSEC-2025-0134
URL:       https://rustsec.org/advisories/RUSTSEC-2025-0134

Crate:     rustybuzz
Version:   0.20.1
Warning:   unmaintained
Title:     `rustybuzz` is unmaintained
Date:      2026-07-11
ID:        RUSTSEC-2026-0206
URL:       https://rustsec.org/advisories/RUSTSEC-2026-0206

Crate:     ttf-parser
Version:   0.25.1
Warning:   unmaintained
Title:     `ttf-parser` is unmaintained
Date:      2026-06-28
ID:        RUSTSEC-2026-0192
URL:       https://rustsec.org/advisories/RUSTSEC-2026-0192

warning: 5 allowed warnings found
```

</details>

## [2.7.0]

### New Features

- [`d203f74a2`](https://www.github.com/tauri-apps/tauri/commit/d203f74a2359b8839e0eb7376118fb20af3b807c) ([#15274](https://www.github.com/tauri-apps/tauri/pull/15274)) Added `Image::from_app_icon_resource` and `Image::from_icon_resource` on Windows for loading images from icon resources embedded in the executable (identified by an `IconResource` id or name), and the default `default_window_icon` from `tauri::generate_context` macro is now loaded using `from_app_icon_resource`. The resource id `tauri-build` embeds the application icon with is exposed as `tauri_utils::platform::WINDOWS_APP_ICON_RESOURCE_ID`.

### Bug Fixes

- [`29c87c3d3`](https://www.github.com/tauri-apps/tauri/commit/29c87c3d3f5bbcf5a7ae9de01af7e6bb738c1d01) ([#15777](https://www.github.com/tauri-apps/tauri/pull/15777)) Emit embedded assets and CSP script/style hashes in sorted order so `generate_context!` output no longer depends on the filesystem walk order, which varies across machines and broke reproducible builds.
- [`c735ba32b`](https://www.github.com/tauri-apps/tauri/commit/c735ba32b36d505cbf9eabfb4a33005ca31edbdd) ([#15241](https://www.github.com/tauri-apps/tauri/pull/15241)) Select the largest entry of an ICO file instead of the first one when embedding it with `include_image!` or as the tray icon, so the OS downscales a high-resolution source instead of upscaling the 16x16 entry.

### What's Changed

- [`2e6e33c85`](https://www.github.com/tauri-apps/tauri/commit/2e6e33c8501c66c9a49aad861048d39345cfb26f) ([#16029](https://www.github.com/tauri-apps/tauri/pull/16029)) Moved to edition 2024
- [`ce3f13b91`](https://www.github.com/tauri-apps/tauri/commit/ce3f13b91a75cb723f229f56a3e82eb5f2d3f644) ([#15887](https://www.github.com/tauri-apps/tauri/pull/15887)) Lock unstable tauri crates to minor versions.
- [`1cffb01da`](https://www.github.com/tauri-apps/tauri/commit/1cffb01da55f5fcd5a0f74ef3281b5a715513e4d) ([#13221](https://www.github.com/tauri-apps/tauri/pull/13221)) Set MSRV to 1.90.

### Dependencies

- Upgraded to `tauri-utils@2.10.0`
- [`6a7afc27c`](https://www.github.com/tauri-apps/tauri/commit/6a7afc27c1443022952064a466881d5788b3378d) ([#16053](https://www.github.com/tauri-apps/tauri/pull/16053)) Updated brotli to v9
- [`df26e1b8c`](https://www.github.com/tauri-apps/tauri/commit/df26e1b8ccb0b9e9c4aa4c705a635f59b4a5110a) ([#15875](https://www.github.com/tauri-apps/tauri/pull/15875)) Updated `png` crate to `0.18`

<details>
<summary><em><h4>Cargo Publish</h4></em></summary>

```
Updating crates.io index
   Packaging tauri-codegen v2.7.0 (/home/runner/work/tauri/tauri/crates/tauri-codegen)
    Updating crates.io index
    Packaged 13 files, 126.8KiB (37.5KiB compressed)
   Verifying tauri-codegen v2.7.0 (/home/runner/work/tauri/tauri/crates/tauri-codegen)
 Downloading crates ...
  Downloaded dtoa-short v0.3.5
  Downloaded tendril v0.5.0
  Downloaded markup5ever v0.39.0
  Downloaded servo_arc v0.4.3
  Downloaded cargo-platform v0.1.8
  Downloaded bit-set v0.8.0
  Downloaded cssparser v0.37.0
  Downloaded cargo_metadata v0.19.0
  Downloaded derive_more-impl v2.0.1
  Downloaded dtoa v1.0.9
  Downloaded precomputed-hash v0.1.1
  Downloaded camino v1.1.9
  Downloaded bit-vec v0.8.0
  Downloaded dom_query v0.28.0
  Downloaded cssparser-macros v0.7.0
  Downloaded derive_more v2.0.1
  Downloaded serde_derive_internals v0.29.1
  Downloaded string_cache_codegen v0.6.1
  Downloaded schemars v0.8.22
  Downloaded schemars_derive v0.8.22
  Downloaded string_cache v0.9.0
  Downloaded ico v0.5.0
  Downloaded phf_codegen v0.13.1
  Downloaded selectors v0.38.0
  Downloaded html5ever v0.39.0
  Downloaded web_atoms v0.2.3
  Downloaded png v0.17.16
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.14
   Compiling quote v1.0.46
   Compiling stable_deref_trait v1.2.0
   Compiling phf_shared v0.13.1
   Compiling parking_lot_core v0.9.10
   Compiling precomputed-hash v0.1.1
   Compiling serde_json v1.0.145
   Compiling generic-array v0.14.7
   Compiling phf_generator v0.13.1
   Compiling parking_lot v0.12.3
   Compiling phf_codegen v0.13.1
   Compiling string_cache v0.9.0
   Compiling getrandom v0.2.15
   Compiling syn v2.0.117
   Compiling string_cache_codegen v0.6.1
   Compiling dtoa v1.0.9
   Compiling dtoa-short v0.3.5
   Compiling tendril v0.5.0
   Compiling web_atoms v0.2.3
   Compiling selectors v0.38.0
   Compiling camino v1.1.9
   Compiling flate2 v1.1.1
   Compiling servo_arc v0.4.3
   Compiling bit-vec v0.8.0
   Compiling schemars v0.8.22
   Compiling rustc-hash v2.1.1
   Compiling bit-set v0.8.0
   Compiling block-buffer v0.10.4
   Compiling crypto-common v0.1.6
   Compiling semver v1.0.28
   Compiling foldhash v0.2.0
   Compiling dyn-clone v1.0.17
   Compiling png v0.17.16
   Compiling digest v0.10.7
   Compiling png v0.18.1
   Compiling sha2 v0.10.8
   Compiling ico v0.5.0
   Compiling synstructure v0.13.1
   Compiling darling_core v0.23.0
   Compiling serde_derive_internals v0.29.1
   Compiling zerofrom-derive v0.1.5
   Compiling yoke-derive v0.8.2
   Compiling serde_derive v1.0.228
   Compiling zerovec-derive v0.11.3
   Compiling zerofrom v0.1.5
   Compiling displaydoc v0.2.5
   Compiling yoke v0.8.1
   Compiling phf_macros v0.13.1
   Compiling zerotrie v0.2.3
   Compiling zerovec v0.11.5
   Compiling phf v0.13.1
   Compiling darling_macro v0.23.0
   Compiling cssparser-macros v0.7.0
   Compiling tinystr v0.8.2
   Compiling potential_utf v0.1.4
   Compiling icu_collections v2.1.1
   Compiling icu_locale_core v2.1.1
   Compiling derive_more-impl v2.0.1
   Compiling markup5ever v0.39.0
   Compiling cssparser v0.37.0
   Compiling derive_more v2.0.1
   Compiling serde v1.0.228
   Compiling icu_provider v2.1.1
   Compiling icu_normalizer v2.1.1
   Compiling icu_properties v2.1.2
   Compiling uuid v1.11.0
   Compiling darling v0.23.0
   Compiling thiserror-impl v2.0.12
   Compiling thiserror-impl v1.0.69
   Compiling serde_with_macros v3.21.0
   Compiling idna_adapter v1.2.1
   Compiling cfb v0.14.0
   Compiling idna v1.1.0
   Compiling thiserror v1.0.69
   Compiling thiserror v2.0.12
   Compiling url v2.5.8
   Compiling jsonptr v0.7.1
   Compiling cargo-platform v0.1.8
   Compiling html5ever v0.39.0
   Compiling schemars_derive v0.8.22
   Compiling urlpattern v0.6.0
   Compiling json-patch v4.2.0
   Compiling dom_query v0.28.0
   Compiling cargo_metadata v0.19.0
   Compiling infer v0.22.0
   Compiling serde_with v3.21.0
   Compiling serde-untagged v0.1.6
   Compiling plist v1.10.0
   Compiling tauri-utils v2.10.0
   Compiling tauri-codegen v2.7.0 (/home/runner/work/tauri/tauri/target/package/tauri-codegen-2.7.0)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.62s
   Uploading tauri-codegen v2.7.0 (/home/runner/work/tauri/tauri/crates/tauri-codegen)
    Uploaded tauri-codegen v2.7.0 to registry `crates-io`
note: waiting for tauri-codegen v2.7.0 to be available at registry `crates-io`
help: you may press ctrl-c to skip waiting; the crate should be available shortly
   Published tauri-codegen v2.7.0 at registry `crates-io`
```

</details>

Related Repositories