tauri-macros - full changelog
v2.6.0
Apr 30, 2026
New Features
c00a3dbff(#14473) Add support for therenameattribute in thetauri::commandmacro to allow renaming the command to something other than the function name.
Dependencies
- Upgraded to
tauri-utils@2.9.0 - Upgraded to
tauri-codegen@2.6.0
v2.5.5
Mar 4, 2026
Dependencies
- Upgraded to
tauri-utils@2.8.3 - Upgraded to
tauri-codegen@2.5.5
v2.5.4
Feb 4, 2026
Dependencies
- Upgraded to
tauri-codegen@2.5.4
v2.5.3
Feb 2, 2026
Dependencies
- Upgraded to
tauri-utils@2.8.2 - Upgraded to
tauri-codegen@2.5.3
v2.5.2
Nov 30, 2025
Dependencies
- Upgraded to
tauri-utils@2.8.1 - Upgraded to
tauri-codegen@2.5.2
v2.5.1
Nov 13, 2025
Bug Fixes
4b00130b8(#14385 by @lucasfernog) Fix iOS deadlock when running on the simulator from Xcode by properly piping stdout/stderr messages through the Xcode console and OSLog.
Dependencies
- Upgraded to
tauri-codegen@2.5.1
v2.5.0
Oct 20, 2025
Bug Fixes
69476d8e2(#14170) Fix the stack overflow when having too many commands in a single invoke handler in release build
Dependencies
- Upgraded to
tauri-utils@2.8.0 - Upgraded to
tauri-codegen@2.5.0 6aa7f2d85Upgraded totauri-utils@2.8.0
v2.4.0
Aug 18, 2025
Dependencies
- Upgraded to
tauri-utils@2.7.0. - Upgraded to
tauri-codegen@2.4.0
v2.3.2
Jul 20, 2025
Dependencies
- Upgraded to
tauri-utils@2.6.0 - Upgraded to
tauri-codegen@2.3.1
v2.3.1
Jun 26, 2025
Performance Improvements
0a552a868(#13690 by @montyc1999) Cacherustc -Voutput in#[tauri::command]macros
v2.2.1
Dependencies
- Upgraded to
tauri-codegen@2.3.0 - Upgraded to
tauri-utils@2.5.0
v2.2.0
Apr 15, 2025
Dependencies
- Upgraded to
tauri-utils@2.4.0 - Upgraded to
tauri-codegen@2.2.0 48b12b440Update totauri-utils@2.4.0
v2.1.1
Apr 1, 2025
Dependencies
- Upgraded to
tauri-utils@2.3.1 - Upgraded to
tauri-codegen@2.1.1
v2.1.0
Mar 20, 2025
New Features
013f8f652(#12890 by @Legend-Master) Addedbuild > removeUnusedCommandsto trigger the build scripts and macros to remove unused commands based on the capabilities you defined. Note this won't be accounting for dynamically added ACLs so make sure to check it when using this.
Dependencies
- Upgraded to
tauri-utils@2.3.0 - Upgraded to
tauri-codegen@2.1.0
v2.0.5
Feb 26, 2025
Dependencies
- Upgraded to
tauri-utils@2.2.0 - Upgraded to
tauri-codegen@2.0.5
v2.0.4
Jan 2, 2025
Dependencies
- Upgraded to
tauri-utils@2.1.1 - Upgraded to
tauri-codegen@2.0.4
v2.0.3
Nov 9, 2024
Enhancements
17c6952ae(#11522 by @amrbashir) Enhance the error message when usingasynccommands with a reference.
Dependencies
- Upgraded to
tauri-utils@2.1.0 - Upgraded to
tauri-codegen@2.0.3
v2.0.1
Oct 3, 2024
What's Changed
0ab2b3306(#11205 by @lucasfernog) Downgrade MSRV to 1.77.2 to support Windows 7.
Dependencies
- Upgraded to
tauri-utils@2.0.1 - Upgraded to
tauri-codegen@2.0.1
v2.0.0
Oct 2, 2024
What's Changed
Dependencies
- Upgraded to
tauri-utils@2.0.0 - Upgraded to
tauri-codegen@2.0.0
v2.0.0-rc.12
Sep 27, 2024
New Features
1d8b67b29(#11162 by @amrbashir) Support async functions formobile_entry_pointmacro
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.13 - Upgraded to
tauri-codegen@2.0.0-rc.13
v2.0.0-rc.11
Sep 17, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.12 - Upgraded to
tauri-codegen@2.0.0-rc.12
v2.0.0-rc.10
Sep 15, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.11 - Upgraded to
tauri-codegen@2.0.0-rc.11
v2.0.0-rc.9
Sep 10, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.10 - Upgraded to
tauri-codegen@2.0.0-rc.10
v2.0.0-rc.8
Sep 5, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.9 - Upgraded to
tauri-codegen@2.0.0-rc.9
v2.0.0-rc.7
Sep 4, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.8 - Upgraded to
tauri-codegen@2.0.0-rc.8
v2.0.0-rc.6
Aug 28, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.7 - Upgraded to
tauri-codegen@2.0.0-rc.7
v2.0.0-rc.6
Aug 28, 2024
What's Changed
f4d5241b3(#10731 by @amrbashir) Update documentation icon path.
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.6 - Upgraded to
tauri-codegen@2.0.0-rc.6
v2.0.0-rc.5
Aug 20, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.5 - Upgraded to
tauri-codegen@2.0.0-rc.5
v2.0.0-rc.4
Aug 20, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.4 - Upgraded to
tauri-codegen@2.0.0-rc.4
v2.0.0-rc.3
Aug 17, 2024
Dependencies
- Upgraded to
tauri-codegen@2.0.0-rc.3 - Upgraded to
tauri-utils@2.0.0-rc.3
v2.0.0-rc.2
Aug 9, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.2 - Upgraded to
tauri-codegen@2.0.0-rc.2
v2.0.0-rc.1
Aug 7, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-rc.1 - Upgraded to
tauri-codegen@2.0.0-rc.1
v2.0.0-rc.0
Aug 2, 2024
Dependencies
- Upgraded to
tauri-codegen@2.0.0-rc.0 - Upgraded to
tauri-utils@2.0.0-rc.0
v2.0.0-beta.19
Jul 12, 2024
What's Changed
4c239729c(#10167 by @amrbashir) Add support fortest = trueingenerate_context!macro to skip some code generation that could affect some tests, for now it only skips empedding a plist on macOS.
Dependencies
- Upgraded to
tauri-codegen@2.0.0-beta.19 - Upgraded to
tauri-utils@2.0.0-beta.19
v2.0.0-beta.18
Jul 2, 2024
New Features
5b769948a(#9959) Addinclude_imagemacro to help embedding instances ofImagestruct at compile-time in rust to be used with window, menu or tray icons.
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.18 - Upgraded to
tauri-codegen@2.0.0-beta.18
v2.0.0-beta.17
May 29, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.17 - Upgraded to
tauri-codegen@2.0.0-beta.17
Breaking Changes
1df5cdeb0(#9858) Usetauri.conf.json > identifierto set thePackageNamein Android andBundleIdin iOS.
v2.0.0-beta.16
May 23, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.16 - Upgraded to
tauri-codegen@2.0.0-beta.16
v2.0.0-beta.15
May 9, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.15 - Upgraded to
tauri-codegen@2.0.0-beta.15
v2.0.0-beta.14
May 6, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.14 - Upgraded to
tauri-codegen@2.0.0-beta.14
v2.0.0-beta.13
Apr 22, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.13 - Upgraded to
tauri-codegen@2.0.0-beta.13
v2.0.0-beta.12
Apr 15, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.12 - Upgraded to
tauri-codegen@2.0.0-beta.12
v2.0.0-beta.11
Apr 2, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.11 - Upgraded to
tauri-codegen@2.0.0-beta.11
v2.0.0-beta.10
Mar 18, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.10 - Upgraded to
tauri-codegen@2.0.0-beta.10
v2.0.0-beta.9
Mar 11, 2024
New Features
ba0206d8a(#9141) TheContextcodegen now accepts aassetsinput to define a customtauri::Assetsimplementation.
Dependencies
- Upgraded to
tauri-codegen@2.0.0-beta.9 - Upgraded to
tauri-utils@2.0.0-beta.9
v2.0.0-beta.8
Mar 7, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.8 - Upgraded to
tauri-codegen@2.0.0-beta.8
v2.0.0-beta.7
Mar 6, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.7 - Upgraded to
tauri-codegen@2.0.0-beta.7
v2.0.0-beta.6
Feb 29, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.6 - Upgraded to
tauri-codegen@2.0.0-beta.6
v2.0.0-beta.5
Feb 27, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.5 - Upgraded to
tauri-codegen@2.0.0-beta.5
v2.0.0-beta.4
Feb 22, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.4 - Upgraded to
tauri-codegen@2.0.0-beta.4
v2.0.0-beta.3
Feb 21, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.3 - Upgraded to
tauri-codegen@2.0.0-beta.3
v2.0.0-beta.2
Feb 19, 2024
Enhancements
8d16a80d(#8802) Thegenerate_contextproc macro now accepts acapabilitiesattribute where the value is an array of file paths that can be conditionally compiled. These capabilities are added to the application along the capabilities defined in the Tauri configuration file.
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.2 - Upgraded to
tauri-codegen@2.0.0-beta.2
v2.0.0-beta.1
Feb 4, 2024
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.1 - Upgraded to
tauri-codegen@2.0.0-beta.1
v2.0.0-beta.0
Feb 3, 2024
New Features
Dependencies
- Upgraded to
tauri-utils@2.0.0-beta.0 - Upgraded to
tauri-codegen@2.0.0-beta.0
v2.0.0-alpha.13
Jan 16, 2024
Enhancements
d621d343(#8607) Added tracing for window startup, plugins,Window::eval, events, IPC, updater and custom protocol request handlers behind thetracingfeature flag.
Dependencies
- Upgraded to
tauri-utils@2.0.0-alpha.13 - Upgraded to
tauri-codegen@2.0.0-alpha.13
v2.0.0-alpha.12
Dec 19, 2023
Dependencies
- Upgraded to
tauri-utils@2.0.0-alpha.12 - Upgraded to
tauri-codegen@2.0.0-alpha.12
v2.0.0-alpha.11
Nov 20, 2023
Dependencies
- Upgraded to
tauri-utils@2.0.0-alpha.11 - Upgraded to
tauri-codegen@2.0.0-alpha.11 b6ed4ecb(#7634) Update to syn v2.
v2.0.0-alpha.10
Oct 28, 2023
Enhancements
c6c59cf2Pull changes from Tauri 1.5 release.
Dependencies
- Upgraded to
tauri-codegen@2.0.0-alpha.10 - Upgraded to
tauri-utils@2.0.0-alpha.10
v2.0.0-alpha.9
Oct 19, 2023
New Features
Dependencies
- Upgraded to
tauri-utils@2.0.0-alpha.9 - Upgraded to
tauri-codegen@2.0.0-alpha.9
Breaking Changes
ebcc21e4(#8057) Renamed the beforeDevCommand, beforeBuildCommand and beforeBundleCommand hooks environment variables fromTAURI_PLATFORM, TAURI_ARCH, TAURI_FAMILY, TAURI_PLATFORM_VERSION, TAURI_PLATFORM_TYPE and TAURI_DEBUGtoTAURI_ENV_PLATFORM, TAURI_ENV_ARCH, TAURI_ENV_FAMILY, TAURI_ENV_PLATFORM_VERSION, TAURI_ENV_PLATFORM_TYPE and TAURI_ENV_DEBUGto differentiate the prefix with other CLI environment variables.
v2.0.0-alpha.8
Oct 8, 2023
Enhancements
Dependencies
- Upgraded to
tauri-codegen@2.0.0-alpha.8 - Upgraded to
tauri-utils@2.0.0-alpha.8
v2.0.0-alpha.7
Aug 14, 2023
Dependencies
- Upgraded to
tauri-utils@2.0.0-alpha.7 - Upgraded to
tauri-codegen@2.0.0-alpha.7
Breaking Changes
v2.0.0-alpha.6
Jun 17, 2023
Dependencies
- Updated to latest
tauri-utils
v2.0.0-alpha.5
May 18, 2023
7a4b1fb9(#6839) Added support to attibutes for each command path in thegenerate_handlermacro.96639ca2(#6749) Moved theshellfunctionality to its own plugin in the plugins-workspace repository.3188f376(#6883) Bump the MSRV to 1.65.9a79dc08(#6947) Removed the module command macros.
v2.0.0-alpha.4
Apr 10, 2023
- Added
androidconfiguration object undertauri > bundle.
v2.0.0-alpha.3
Apr 3, 2023
v2.0.0-alpha.2
Mar 20, 2023
- Resolve Android package name from single word bundle identifiers.
- Return
boolin the invoke handler. - Refactored the implementation of the
mobile_entry_pointmacro.
v2.0.0-alpha.1
Feb 2, 2023
- Refactor mobile environment variables.
- Bump the MSRV to 1.64.
- Removed mobile logging initialization, which will be handled by
tauri-plugin-log.
v2.0.0-alpha.0
Dec 9, 2022
- Added the
mobile_entry_pointmacro. - First mobile alpha release!
v1.4.3
Dec 20, 2023
Dependencies
- Upgraded to
tauri-utils@1.5.2 - Upgraded to
tauri-codegen@1.4.2
v1.4.2
Dec 1, 2023
Enhancements
5e05236b(#8289) Added tracing for window startup, plugins,Window::eval, events, IPC, updater and custom protocol request handlers behind thetracingfeature flag.
v1.4.1
Sep 28, 2023
Dependencies
- Upgraded to
tauri-utils@1.5.0 - Upgraded to
tauri-codegen@1.4.1
v1.4.0
Jun 14, 2023
Enhancements
d68a25e3(#6124) Improve compiler error message when generating an async command that has a reference input and don't return a Result.
v1.3.0
May 3, 2023
- Bump minimum supported Rust version to 1.60.
v1.2.1
Nov 24, 2022
- Fix
allowlist > app > show/hidealways disabled whenallowlist > app > all: false.
v1.2.0
Nov 8, 2022
v1.1.1
Sep 16, 2022
- Add missing allowlist config for
set_cursor_grab,set_cursor_visible,set_cursor_iconandset_cursor_positionAPIs.
v1.1.0
Sep 15, 2022
- Added support to configuration files in TOML format (Tauri.toml file).
v1.0.4
Jul 14, 2022
- Adjust command imports to fix
items_after_statementsClippy warning. - Remove raw identifier (
r#) prefix from command arguments.
v1.0.3
Jul 6, 2022
- Add
#[doc(hidden)]attribute to the#[command]generated macro.
v1.0.2
Jun 30, 2022
- Expose
platform::windows_versionfunction.
v1.0.1
Jun 29, 2022
- Set the bundle name and app metadata in the Info.plist file in development mode.
- 38f5db6e feat(codegen): fill app metadata in development Info.plist on 2022-06-21
- Set the application icon in development mode on macOS.
v1.0.0
Jun 16, 2022
v1.0.0-rc.11
Jun 15, 2022
- Read the tray icon path relatively to the config directory.
- Bumped due to a bump in tauri-codegen.
- 562e8ca2 fix(codegen): tray icon path is relative to the config directory on 2022-06-15
v1.0.0-rc.10
Jun 15, 2022
- Breaking change: The
TrayIconenum has been removed and nowIconis used instead. This allows you to use more image formats and use embedded icons on Linux.
v1.0.0-rc.9
Jun 14, 2022
- Added a config flag to bundle the media framework used by webkit2gtk
tauri.conf.json > tauri > bundle > appimage > bundleMediaFramework.
v1.0.0-rc.8
May 27, 2022
- Breaking change:
PackageInfo::versionis now asemver::Versioninstead of aString.
v1.0.0-rc.7
May 18, 2022
- Allow configuring the display options for the MSI execution allowing quieter updates.
v1.0.0-rc.6
May 7, 2022
- Added
$schemasupport totauri.conf.json. - The
dangerous_allow_asset_csp_modificationconfiguration value has been changed to allow a list of CSP directives to disable.
v1.0.0-rc.5
Apr 26, 2022
- Read platform-specific configuration files when generating code without the
TAURI_CONFIGenv var.
v1.0.0-rc.4
Mar 28, 2022
Replace multiple dependencies who's C code compiled concurrently and caused the other ones to bloat compile time significantly.
zstd->brotliblake3-> a vendored version of the blake3 referencering->getrandom
See <https://github.com/tauri-apps/tauri/pull/3773> for more information about these specific choices.
- 8661e3e2 replace dependencies with long build times when used together (closes #3571) (#3773) on 2022-03-27
v1.0.0-rc.3
Mar 7, 2022
- Parse window icons at compile time.
v1.0.0-rc.2
Feb 18, 2022
- Changed the default value for
tauri > bundle > macOS > minimumSystemVersionto10.13.
v1.0.0-rc.1
Feb 12, 2022
- Change default value for the
freezePrototypeconfiguration tofalse.
v1.0.0-rc.0
Feb 10, 2022
- Adds support for using JSON5 format for the
tauri.conf.jsonfile, along with also supporting the.json5extension.
Here is the logic flow that determines if JSON or JSON5 will be used to parse the config:
- Check if
tauri.conf.jsonexists a. Parse it withserde_jsonb. Parse it withjson5ifserde_jsonfails c. Return originalserde_jsonerror if all above steps failed - Check if
tauri.conf.json5exists a. Parse it withjson5b. Return error if all above steps failed - Return error if all above steps failed
- 995de57a Add seamless support for using JSON5 in the config file (#47) on 2022-02-03
- The minimum Rust version is now
1.56.
v1.0.0-beta-rc.1
Apr 25, 2021
- Fixes the Message
commandname value on plugin invoke handler.
v1.0.0-beta-rc.0
Apr 14, 2021
- Update all code files to have our license header.
- Added new macros to simplify the creation of commands that can be called by the webview.
v1.0.0-beta.5
Aug 16, 2021
- Embed Info.plist file contents on binary on dev.
- Fix ES Module detection for default imports with relative paths or scoped packages and exporting of async functions.
v1.0.0-beta.4
Jul 16, 2021
Paramshas been removed, along with all the associated types on it. Functions that previously accepted those associated types now accept strings instead. Type that used a generic parameterParamsnow useRuntimeinstead. If you use thewryfeature, then types with aRuntimegeneric parameter should default toWry, letting you omit the explicit type and let the compiler infer it instead.
tauri:
- See
Paramsnote - If you were using
Paramsinside a function parameter or definition, all references to it have been replaced with a simple runtime that defaults toWry. If you are not using a custom runtime, just removeParamsfrom the definition of functions/items that previously took it. If you are using a custom runtime, you may need to pass the runtime type to these functions. - If you were using custom types for
Params(uncommon and if you don't understand you probably were not using it), all methods that were previously taking the custom type now takes anInto<String>or a&str. The types were already required to be string-able, so just make sure to convert it into a string before passing it in if this breaking change affects you.
tauri-macros:
- (internal) Added private
default_runtimeproc macro to allow us to give item definitions a custom runtime only when the specified feature is enabled.
tauri-runtime:
- See
Paramsnote - Removed
Params,MenuId,Tag,TagRef. - Added
menu::{MenuHash, MenuId, MenuIdRef}as type aliases for the internal type that menu types now use.- All previous menu items that had a
MenuIdgeneric now use the underlyingMenuIdtype without a generic.
- All previous menu items that had a
Runtime,RuntimeHandle, andDispatchhave no more generic parameter oncreate_window(...)and instead use theRuntimetype directlyRuntime::system_trayhas no moreMenuIdgeneric and uses the string basedSystemTraytype directly.- (internal)
CustomMenuItem::id_value()is now hashed on creation and exposed as theidfield with typeMenuHash.
tauri-runtime-wry:
- See
Paramsnote - update menu and runtime related types to the ones changed in
tauri-runtime.
tauri-utils:
Assets::getsignature has changed to take a&AssetKeyinstead ofimpl Into<AssetKey>to become trait object safe.- fd8fab50 refactor(core): remove
Paramsand replace with strings (#2191) on 2021-07-15
v1.0.0-beta.3
Jun 28, 2021
- Detect ESM scripts and inject the invoke key directly instead of using an IIFE.
- Improve invoke key code injection performance time rewriting code at compile time.
v1.0.0-beta.2
Jun 23, 2021
- internal: Refactor all macro code that expects specific bindings to be passed Idents
v1.0.0-beta.1
May 12, 2021
- Fixes a name collision when the command function is named
invoke. - Fixes a name collision when the command function is named
messageorresolver. - Fixes a name collision when the command function is named
cmd.
v1.0.0-beta.0
May 11, 2021
- Only commands with a
async fnare executed on a separate task.#[command] fn command_nameruns on the main thread. #[command]now generates a macro instead of a function to allow passing throughParamsand other generics.generate_handler!has been changed to consume the generated#[command]macro- Improves support for commands returning
Result. - Adds support to command state, triggered when a command argument is
arg: State<'_, StateType>.