tauri-utils full changelog
v2.9.3
Section titled “v2.9.3”Enhancements
Section titled “Enhancements”-
c2b8f4783(#15373 by @MavenRain) Improve diagnostics for invalid plugin and permission identifiers.The
Identifierdeserializer now wraps the inner error with the offending identifier string so the message readsinvalid plugin or permission identifier '<value>': ..., surfacing the bad entry without requiring a grep through the file.The previous parse failure (
failed to parse JSON: identifiers can only include lowercase ASCII, hyphens which are not leading or trailing, and a single colon if using a prefix at line 16 column 23) now readsfailed to parse JSON: invalid plugin or permission identifier 'sqlite_proxy:allow-foo': identifiers can only include lowercase ASCII, hyphens which are not leading or trailing, and a single colon if using a prefix at line 16 column 23.
Bug Fixes
Section titled “Bug Fixes”-
2783e6079(#15481 by @thanhtoantnt) FixNumber::Intbeing silently coerced toNumber::Floatonserde_jsonround-trip.From<serde_json::Value> for Valuewas checkingas_f64()first, which succeeds for every integer that fits in an f64, so integer JSON numbers were always deserialized asNumber::Float. The check order is nowas_i64()→as_u64()(cast toi64, wrapping for values abovei64::MAX) →as_f64(), matching serde_json's own visitor convention.
v2.9.2
Section titled “v2.9.2”Bug Fixes
Section titled “Bug Fixes”-
b5b72ce51(#15383 by @Legend-Master) Fix a regression in tauri-utils 2.8.3 that made empty path an invalid resource target, e.g.{"bundle": {"resources": {"README.md": "",}}}(this means
README.md->$RESOURCE/README.md, note this is a confusing behavior, and will be changed in v3) -
3fd8ba2c0(#15388 by @Legend-Master) Fix a regression in tauri-utils 2.8.3 that made an empty directory makes it skip all the following entries, e.g.{"bundle": {"resources": ["empty-directory","README.md"]}}if
empty-directoryis empty, theREADME.mdwill not be copied to the resource directory (skipped)
v2.9.1
Section titled “v2.9.1”Dependencies
Section titled “Dependencies”v2.9.0
Section titled “v2.9.0”New Features
Section titled “New Features”-
001c8fe3d(#14722) Add a WebView option to control browser-level general autofill behavior. This option does not disable password or credit card autofill. On Windows (WebView2), setting it to true disables the general autofill "Suggestions" UI, which may appear even whenautocomplete="off"is specified on input elements. On Linux, macOS, iOS, and Android, this option is currently unsupported and performs no operation. -
926a57bb0(#15201) Added uninstaller icon and uninstaller header image support for NSIS installer.Notes:
- For
tauri-bundlerlib users, theNsisSettingsnow has 2 new fieldsuninstaller_iconanduninstaller_header_imagewhich can be a breaking change - When bundling with NSIS, users can add
uninstallerIconanduninstallerHeaderImageunderbundle > windows > nsisto configure them.
- For
-
093e2b47c(#14484) Support creating multiple windows on Android (activity embedding) and iOS (scenes).
Dependencies
Section titled “Dependencies”e032c3b34(#14959) Add newhtml-manipulation-2andbuild-2feature flags that usedom_queryinstead ofkuchikikifor HTML parsing / manipulation. This allows downstream users to removekuchikikiand its dependencies from their dependency tree.1ef6a119b(#15115) Changedtomlcrate version from0.9to">=0.9, <=1"
v2.8.3
Section titled “v2.8.3”Bug Fixes
Section titled “Bug Fixes”-
7b16dafb1(#14986 by @montyc1999) Sort csp/plugin/header configs when generating HashMap constructors so thatgenerate_context!is deterministic.See: https://github.com/tauri-apps/tauri/issues/14978 for more information
-
c3cbff3f7(#14662 by @Legend-Master) Fix resource path handles./path differently (e.g../some-foldershould be the same assome-folder)
v2.8.2
Section titled “v2.8.2”Enhancements
Section titled “Enhancements”2d28e3143(#14632 by @sftse) Small code refactors for improved code readability. No user facing changes.
v2.8.1
Section titled “v2.8.1”Bug Fixes
Section titled “Bug Fixes”1573c7240(#14561 by @FabianLars) Fixed an issue that caused schema files to have\rcharacters on Windows.
v2.8.0
Section titled “v2.8.0”New Features
Section titled “New Features”f5851ee00(#14089) Adds thescrollBarStyleoption to the window configuration.3b4fac201(#14194) Addtauri.conf.json > bundle > android > autoIncrementVersionCodeconfig option to automatically increment the Android version code.3d6868d09(#14128) AddedFileAssociation::exported_typeandFileAssociation::content_typesfor better support to defining custom types on macOS.ed7c9a410(#14108) Addedbundle > macOS > infoPlistandbundle > iOS > infoPlistconfigurations to allow defining custom Info.plist extensions.7b0d4e732(#14265) Addedhtml::normalize_script_for_csp.cc8c0b531(#14031) Added support to universal app links on macOS with theplugins > deep-link > desktop > domainsconfiguration.
Enhancements
Section titled “Enhancements”59089723f(#14091) Added a config to set a data_directory relative to the app-specific data dir in JavaScript andtauri.conf.json.
v2.7.0
Section titled “v2.7.0”New Features
Section titled “New Features”91508c0b8(#13881 by @pepperoni505) Introduces a new configuration option that allows you to specify custom folders to watch for changes when runningtauri dev.0c402bfb6(#13997 by @lucasfernog) Increase default iOS deployment target iOS to 14.0.
Enhancements
Section titled “Enhancements”9300b59f6(#13787 by @JakenHerman) Addedfips_compliantfield toWixConfigso that it can be configured viatauri.conf.jsonas well.72b4226ee(#13809 by @Beanow) ReducedDebugformat size for binary buffers.
Bug Fixes
Section titled “Bug Fixes”1a3d1a024(#13995 by @will3942) Fix Tauri iOS build with binary XCFramework dependencies, allows extracting binaryTargets that are zipped and also not including XCFrameworks when linking.
v2.6.0
Section titled “v2.6.0”New Features
Section titled “New Features”232265c70(#13209 by @kandrelczyk) Addedplatform::bundle_type.33d079392(#13811 by @mhbagheri-99) Allow runner configuration to be an object with cmd, cwd, and args properties. The runner can now be configured as{ "cmd": "my_runner", "cwd": "/path", "args": ["--quiet"] }while maintaining backwards compatibility with the existing string format.
v2.5.0
Section titled “v2.5.0”New Features
Section titled “New Features”414619c36(#13536 by @Tunglies) Added support for thebundleNameproperty in the macOS bundler configuration. This allows specifying theCFBundleNamevalue for generated macOS bundles.09c19932d(#13304 by @39zde) Adds the option to configure the HTTPService-Worker-Allowedresponse header inapp > security > headers
Bug Fixes
Section titled “Bug Fixes”eb3f0248c(#13646 by @Legend-Master) Only writeThis default permission set includes the followingto the reference if the default permission set is not emptyc8a30a61d(#13476 by @lucasfernog) Fix capability filtering viatauri.conf.json > app > security > capabilitiesnot working when generating allowed commands.b52da29d5(#13429 by @Legend-Master) FixmainBinaryNamedoesn't work when there's.in it
What's Changed
Section titled “What's Changed”168629646(#13418 by @Legend-Master) Put dynamic ACL into a featuredynamic-acl, this is currently enabled by default to align with the previous behaviors, you can disable it throughdefault-features = falseto reduce the final binary size by not including the ACL references
Dependencies
Section titled “Dependencies”Breaking Changes
Section titled “Breaking Changes”b7cdb3b39(#13410 by @Legend-Master) Feature gated the HTML manipulation code intauri-utilsbehined a flag to reduce compile time
v2.4.0
Section titled “v2.4.0”New Features
Section titled “New Features”ea36294cb(#13208) AddeddisableInputAccessoryView: boolconfig for iOS.0aa48fb9e(#13030) AddedbundleVersionto iOS and macOS configuration to support specifying aCFBundleVersion.b072e2b29(#9687) AddpreventOverflowconfig option to prevent the window from overflowing the monitor size on creation
Bug Fixes
Section titled “Bug Fixes”v2.3.1
Section titled “v2.3.1”Enhancements
Section titled “Enhancements”a851b6597(#13057 by @Legend-Master) Enhanced the description of generated docs and schema for permission sets to include list of permissions within.
Bug Fixes
Section titled “Bug Fixes”4ae14bf2f(#13093 by @Legend-Master) Suppress deprecated warning inTrayIconConfig's codegen
v2.3.0
Section titled “v2.3.0”New Features
Section titled “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.30f5a1553(#12366 by @FabianLars) AddedtrafficLightPositionwindow configuration to set the traffic light buttons position on macOS.
Enhancements
Section titled “Enhancements”Bug Fixes
Section titled “Bug Fixes”3cc4ad3c3(#12884 by @oscartbeaumont) fix: allow double--in permissions as command can have double__
Performance Improvements
Section titled “Performance Improvements”1cd8f55ee(#13033 by @Legend-Master) Don't ship globalbundle.global.jsifapp > withGlobalTauriis set to false
v2.2.0
Section titled “v2.2.0”Enhancements
Section titled “Enhancements”a2d36b8c3(#12181 by @bastiankistner) Add an option to change the default background throttling policy (currently for WebKit only).
v2.1.1
Section titled “v2.1.1”Bug Fixes
Section titled “Bug Fixes”46935212b(#11658 by @Legend-Master) Fix.json5capability files not recognized even withconfig-json5feature enabled
v2.1.0
Section titled “v2.1.0”New Features
Section titled “New Features”fabc2f283(#11485 by @39zde) Adds a new configuration optionapp > security > headersto define headers that will be added to every http response from tauri to the web view. This doesn't include IPC messages and error responses.4d545ab3c(#11486 by @amrbashir) AddedWindow::set_background_colorandWindowBuilder::background_color.cbc095ec5(#11451 by @amrbashir) Addapp > windows > devtoolsconfig option and when creating the webview from JS, to enable or disable devtools for a specific webview.058c0db72(#11584 by @amrbashir) Addbundle > linux > rpm > compressionconfig option to control RPM bundle compression type and level.f37e97d41(#11477 by @amrbashir) Addapp > windows > useHttpsSchemeconfig option to choose whether the custom protocols should usehttps://<scheme>.localhostinstead of the defaulthttp://<scheme>.localhoston Windows and Android2a75c64b5(#11469 by @amrbashir) Addedapp > windows > windowClassnameconfig option to specify the name of the window class on Windows.
Enhancements
Section titled “Enhancements”c33bbf457(#11575 by @kornelski) Include the path in ACL I/O errors.
Bug Fixes
Section titled “Bug Fixes”378142914(#11429 by @griffi-gh) Enhance resource directory resolution to support running on distros like NixOS.
v2.0.2
Section titled “v2.0.2”New Features
Section titled “New Features”- Add
bundler > windows > wix > versionto manually specify a wix-compatible version.
v2.0.1
Section titled “v2.0.1”What's Changed
Section titled “What's Changed”0ab2b3306(#11205 by @lucasfernog) Downgrade MSRV to 1.77.2 to support Windows 7.
v2.0.0
Section titled “v2.0.0”What's Changed
Section titled “What's Changed”v2.0.0-rc.13
Section titled “v2.0.0-rc.13”New Features
Section titled “New Features”a247170e1(#11056 by @SpikeHD) Expose the ability to enabled browser extensions in WebView2 on Windows.f57a729cd(#11039 by @amrbashir) AddupgradeCodeinwixconfiguration to set an upgrade code for your MSI installer. This is recommended to be set if you plan to change yourproductName.
Bug Fixes
Section titled “Bug Fixes”1efa5e718(#11099 by @lucasfernog) Rerun build script if the platform-specific configuration file changes.
v2.0.0-rc.12
Section titled “v2.0.0-rc.12”New Features
Section titled “New Features”ad294d274(#11032 by @amrbashir) Addapp > windows > createoption to choose whether to create this window at app startup or not.
v2.0.0-rc.11
Section titled “v2.0.0-rc.11”New Features
Section titled “New Features”35bd9dd3d(#10977 by @amrbashir) AddmainBinaryNameconfig option to set the file name for the main binary.
v2.0.0-rc.10
Section titled “v2.0.0-rc.10”Bug Fixes
Section titled “Bug Fixes”0a47bf043(#10946 by @FabianLars) Fixed an issue that made theidentifierintauri.conf.jsonoptional while it was actually required.
v2.0.0-rc.9
Section titled “v2.0.0-rc.9”Dependencies
Section titled “Dependencies”d9c8d3cc8(#10902 by @Legend-Master) Update infer to 0.16, tray icon to 0.17, urlpattern to 0.3, image to 0.25
Breaking Changes
Section titled “Breaking Changes”faa259bac(#10907 by @lucasfernog) TheAssets::iterfunction now must return a iterator withItem = (Cow<'_, str>, Cow<'_, [u8]>)to be more flexible on contexts where the assets are not'static.
v2.0.0-rc.8
Section titled “v2.0.0-rc.8”Enhancements
Section titled “Enhancements”f0acf504a(#10858 by @lucasfernog) Validate duplicate capability identifier.
v2.0.0-rc.7
Section titled “v2.0.0-rc.7”New Features
Section titled “New Features”58dda44a5(#10339 by @Legend-Master) Add a new optionminimumWebview2Versionfor Windows NSIS installer to trigger a webview2 update if the user's webview2 is older than this version
Bug Fixes
Section titled “Bug Fixes”03f2a5098(#10718 by @rdlabo) Update swift-rs fixing a plugin build when native dependencies are used.
Breaking Changes
Section titled “Breaking Changes”073bb4f45(#10772 by @lucasfernog) Removed the deprecatedwebview_fixed_runtime_pathconfig option, use thewebview_install_modeinstead.
v2.0.0-rc.6
Section titled “v2.0.0-rc.6”Bug Fixes
Section titled “Bug Fixes”9bcff3cd7(#10703 by @lucasfernog) Properly remove isolation script on Android.
What's Changed
Section titled “What's Changed”f4d5241b3(#10731 by @amrbashir) Update documentation icon path.
v2.0.0-rc.5
Section titled “v2.0.0-rc.5”Bug Fixes
Section titled “Bug Fixes”da381e07f(#10696 by @lucasfernog) Implementedresource_diron Android, which returns a URI that needs to be resolved using AssetManager::open. This will be handled by the file system plugin.da381e07f(#10696 by @lucasfernog) Fixresource_diron iOS.
v2.0.0-rc.4
Section titled “v2.0.0-rc.4”New Features
Section titled “New Features”8d148a9e2(#10634 by @anatawa12) Custom sign command with object notation for whitespaces in the command path and arguments.
Bug Fixes
Section titled “Bug Fixes”5c335ae9a(#10648 by @Flakebi) Prevent build script from rerunning unnecessarily by only writing files when the content changes.
v2.0.0-rc.3
Section titled “v2.0.0-rc.3”Enhancements
Section titled “Enhancements”0bb7b0f35(#10559 by @Norbiros) Return autogenerated permissions fromautogenerate_command_permissions.
Bug Fixes
Section titled “Bug Fixes”9e891933d(#10293 by @amrbashir) FixResourcePathsiterator returning an unexpected result for mapped resources, for example"../resources/user.json": "resources/user.json"generates this resourceresources/user.json/user.jsonwhere it should generate justresources/user.json.9fe846615(#10547 by @lucasfernog) Fix plugin permissions documentation heading for permissions table.
Dependencies
Section titled “Dependencies”v2.0.0-rc.2
Section titled “v2.0.0-rc.2”Bug Fixes
Section titled “Bug Fixes”f5dfc0280(#10533 by @FabianLars) Fixed an issue causingtauri ios initto fail ifiOS.minimumSystemVersionwas not configured explicitly.
v2.0.0-rc.1
Section titled “v2.0.0-rc.1”New Features
Section titled “New Features”8dc81b6cc(#10496 by @lucasfernog) Addedbundle > ios > templateconfiguration option for custom Xcode project YML Handlebars template using XcodeGen.02c00abc6(#10495 by @lucasfernog) Addedbundle > ios > minimumSystemVersionconfiguration option.
Bug Fixes
Section titled “Bug Fixes”7e810cb2a(#10485 by @anatawa12) Fixed an issue where permission files will be generated with ':' in the file path.
v2.0.0-rc.0
Section titled “v2.0.0-rc.0”New Features
Section titled “New Features”a5bfbaa62(#9962) Addedbundle > iOS > frameworksconfiguration to define a list of frameworks that are linked to the Xcode project when it is generated.
Enhancements
Section titled “Enhancements”7aeac39e7(#10397) Make the set of gtk application id optional, to allow more then one instance of the app running at the same time.
Bug Fixes
Section titled “Bug Fixes”-
498f405ca(#10404) Fixed an issue where configuration parsing errors always displayed 'tauri.conf.json' as the file path, even when using 'Tauri.toml' or 'tauri.conf.json5'.The error messages now correctly shows the actual config file being used.
Security fixes
Section titled “Security fixes”426d14bb4(#10423) Explicitly check that the main frame's origin is the sender of Isolation Payloads
v2.0.0-beta.19
Section titled “v2.0.0-beta.19”New Features
Section titled “New Features”4c239729c(#10167 by @amrbashir) AddRawIsolationPayload::content_typemethod.
v2.0.0-beta.18
Section titled “v2.0.0-beta.18”New Features
Section titled “New Features”fafc238f7(#9977) Addbundle > homepageoption, if unset, it will fallback tohomepagedefined inCargo.toml.656a64974(#9318) Added a configuration option to disable hardened runtime on macOS codesign.5b769948a(#9959) Addinclude_imagemacro to help embedding instances ofImagestruct at compile-time in rust to be used with window, menu or tray icons.3ab170917(#9932) Add an option to disable NSIS compressionbundle > nsis > compression: "none"f21029b1b(#9994) Addbundle > nsis > startMenuFolderoption to customize start menu folder for NSIS installer
Enhancements
Section titled “Enhancements”Breaking Changes
Section titled “Breaking Changes”3ab170917(#9932) ChangedNsisSettings::compressionfield fromOption<NsisCompression>to justNsisCompression911242f09(#9883) Move updater target frombundle > targetsto a separate fieldbundle > createUpdaterArtifacts3ab170917(#9932) ChangedNsisConfig::compressionfield fromOption<NsisCompression>to justNsisCompression
v2.0.0-beta.17
Section titled “v2.0.0-beta.17”New Features
Section titled “New Features”8a1ae2dea(#9843) Added an option to use a Xcode project for the iOS plugin instead of a plain SwiftPM project.5462e5cad(#9731) Addinstaller_hooksNSIS configuration fieldd6d3efbd1(#9865) Addsign_commandinWindowsConfig
Breaking Changes
Section titled “Breaking Changes”fc1543c65(#9864) Removedskip_webview_install(skipWebviewInstall) option from config, which has been deprecated for a while now and planned to be removed in v2. Usewebview_install_mode(webviewInstallMode) instead.265c23886(#9375) RemovedConfig::binary_nameandPackageInfo::package_name
v2.0.0-beta.16
Section titled “v2.0.0-beta.16”Bug Fixes
Section titled “Bug Fixes”v2.0.0-beta.15
Section titled “v2.0.0-beta.15”Bug Fixes
Section titled “Bug Fixes”v2.0.0-beta.14
Section titled “v2.0.0-beta.14”Bug Fixes
Section titled “Bug Fixes”v2.0.0-beta.13
Section titled “v2.0.0-beta.13”Bug Fixes
Section titled “Bug Fixes”v2.0.0-beta.12
Section titled “v2.0.0-beta.12”New Features
Section titled “New Features”36b4c1249(#9331) Added support forprovides,conflictsandreplaces(obsoletesfor RPM) options forbundler > debandbundler > rpmconfigs.
v2.0.0-beta.11
Section titled “v2.0.0-beta.11”New Features
Section titled “New Features”259d84529(#9209) AddedpreInstallScript,postInstallScript,preRemoveScriptandpostRemoveScriptoptions forbundler > debandbundler > rpmconfigs.
Enhancements
Section titled “Enhancements”7c334cb18(#9327) Make the isolation pattern encrypt key unextractable.a804a70a7(#9328) The isolation iframe script now removes itself after execution.
Breaking Changes
Section titled “Breaking Changes”06833f4fa(#9100) RenameFileDroptoDragDropon structs, enums and enum variants. Also renamedfile_droptodrag_dropon fields and function names.
v2.0.0-beta.10
Section titled “v2.0.0-beta.10”New Features
Section titled “New Features”Enhancements
Section titled “Enhancements”7213b9e47(#9124) Fallback to an empty permission set if the plugin did not define itsdefaultpermissions.
v2.0.0-beta.9
Section titled “v2.0.0-beta.9”Breaking Changes
Section titled “Breaking Changes”v2.0.0-beta.8
Section titled “v2.0.0-beta.8”Enhancements
Section titled “Enhancements”Breaking Changes
Section titled “Breaking Changes”4ef17d083(#9116) The ACL configuration for remote URLs now uses the URLPattern standard instead of glob patterns.
v2.0.0-beta.7
Section titled “v2.0.0-beta.7”Bug Fixes
Section titled “Bug Fixes”86fa339de(#9071) Fix compile time error in context generation when usingapp.windows.windowEffects.color6c0683224(#9068) Fixes scope resolution grouping scopes for all windows.c68218b36(#8990) FixBundleTarget::to_vecreturning an empty vec forBundleTarget::Allvariant.c68218b36(#8990) AddBundleType::allmethod to return all possibleBundleTypevariants.
Breaking Changes
Section titled “Breaking Changes”9aa0d6e95(#9069) Removeddebug_eprintln!andconsume_unused_variablemacros.bb23511ea(#9079) ChangedCapabiltyFile::Listenum variant to be a tuple-struct and addedCapabiltyFile::NamedList. This allows more flexibility when parsing capabilties from JSON files.
v2.0.0-beta.6
Section titled “v2.0.0-beta.6”New Features
Section titled “New Features”d7f56fef(#9014) Allow defining a permission that only applies to a set of target platforms via theplatformsconfiguration option.
Enhancements
Section titled “Enhancements”Breaking Changes
Section titled “Breaking Changes”3657ad82(#9008) Allow defining permissions for the application commands viatauri_build::Attributes::app_manifest.
v2.0.0-beta.5
Section titled “v2.0.0-beta.5”Enhancements
Section titled “Enhancements”bc5b5e67(#8984) Do not include a CSP tag in the application HTML and rely on the custom protocol response header instead.
v2.0.0-beta.4
Section titled “v2.0.0-beta.4”Breaking Changes
Section titled “Breaking Changes”a76fb118(#8950) Changed the capability format to allow configuring bothremote: { urls: Vec<String> }andlocal: bool (default: true)instead of choosing one on thecontextfield.
v2.0.0-beta.3
Section titled “v2.0.0-beta.3”Breaking Changes
Section titled “Breaking Changes”361ec37f(#8932) MovedProgressBarStatefromtauri-utilsto thetauri::windowmodule and removed theunity_urifield.
v2.0.0-beta.2
Section titled “v2.0.0-beta.2”Enhancements
Section titled “Enhancements”0cb0a15c(#8789) Addwebviewsarray on the capability for usage on multiwebview contexts.83a68deb(#8797) Added a new configuration optiontauri.conf.json > app > security > capabilitiesto reference existing capabilities and inline new ones. If it is empty, all capabilities are still included preserving the current behavior.8d16a80d(#8802) TheContextstruct now includes the runtime authority instead of the resolved ACL. This does not impact most applications.28fb036c(#8852) Enhance resource directory resolution on development.dd7571a7(#8815) Do not generate JSON schema and markdown reference file if the plugin does not define any permissions and delete those files if they exist.5618f6d2(#8856) Relax requirements on plugin's identifiers to be alphanumeric and-instead of only lower alpha and-.8d16a80d(#8802) Refactored the capability types and resolution algorithm.
Bug Fixes
Section titled “Bug Fixes”Breaking Changes
Section titled “Breaking Changes”f284f9c5(#8898) Changed the capabilityremoteconfiguration to take a list ofurlsinstead ofdomainsfor more flexibility.
v2.0.0-beta.1
Section titled “v2.0.0-beta.1”Enhancements
Section titled “Enhancements”4e101f80(#8756) Moved the capability JSON schema to thesrc-tauri/genfolder so it's easier to track changes on thecapabilitiesfolder.
Bug Fixes
Section titled “Bug Fixes”v2.0.0-beta.0
Section titled “v2.0.0-beta.0”New Features
Section titled “New Features”74a2a603(#8661) Implement access control list for IPC usage.9eaeb5a8(#8622) Addparentoption for window config.58fe2e81(#8670) AddWebviewUrl::CustomProtocolenum variant.
What's Changed
Section titled “What's Changed”6639a579(#8441) Added theWindowConfig::proxy_urlWebviewBuilder::proxy_url() / WebviewWindowBuilder::proxy_url()options when creating a webview.
Breaking Changes
Section titled “Breaking Changes”-
8de308d1(#8723) Restructured Tauri config per RFC#5:- Moved
package.productName,package.versionandtauri.bundle.identifierfields to the top-level. - Removed
packageobject. - Renamed
tauriobject toapp. - Moved
tauri.bundleobject to the top-level. - Renamed
build.distDirfield tofrontendDist. - Renamed
build.devPathfield todevUrland will no longer accepts paths, it will only accept URLs. - Moved
tauri.patterntoapp.security.pattern. - Removed
tauri.bundle.updaterobject, and its fields have been moved to the updater plugin underplugins.updaterobject. - Moved
build.withGlobalTauritoapp.withGlobalTauri. - Moved
tauri.bundle.dmgobject tobundle.macOS.dmg. - Moved
tauri.bundle.debobject tobundle.linux.deb. - Moved
tauri.bundle.appimageobject tobundle.linux.appimage. - Removed all license fields from each bundle configuration object and instead added
bundle.licenseandbundle.licenseFile. - Renamed
AppUrltoFrontendDistand refactored its variants to be more explicit.
- Moved
-
c77b4032(#8280) Renamedconfig::WindowUrltoconfig::WebviewUrl. -
a093682d(#8621) Changederrorfield inConfigError::FormatTomlto be boxedBox<toml::de::Error>to reduce the enumConfigErrorsize in memory. -
58fe2e81(#8670) Changeddist_diranddev_pathconfig options to be optional.
v2.0.0-alpha.13
Section titled “v2.0.0-alpha.13”Bug Fixes
Section titled “Bug Fixes”v2.0.0-alpha.12
Section titled “v2.0.0-alpha.12”New Features
Section titled “New Features”- `` Add bundle DMG configuration options.
v2.0.0-alpha.11
Section titled “v2.0.0-alpha.11”Breaking Changes
Section titled “Breaking Changes”5e84e92e(#8243) Changedplatform::windows_versionto return a(u32, u32, u32)instead ofOption<(u32, u32, u32)>
v2.0.0-alpha.10
Section titled “v2.0.0-alpha.10”Enhancements
Section titled “Enhancements”c6c59cf2Pull changes from Tauri 1.5 release.
Dependencies
Section titled “Dependencies”v2.0.0-alpha.9
Section titled “v2.0.0-alpha.9”New Features
Section titled “New Features”c085adda(#8009) Addedset_progress_bartoWindow.c1ec0f15(#7933) Added thealways_on_bottomoption to the window configuration.880266a7(#8031) Bump the MSRV to 1.70.ed32257d(#7794) On Windows, addWindowEffect::Tabbed,WindowEffect::TabbedDarkandWindowEffect::TabbedLight
Breaking Changes
Section titled “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
Section titled “v2.0.0-alpha.8”Enhancements
Section titled “Enhancements”- Add an option to specify
idfor the tray icon in the tauri configuration file.
Breaking Changes
Section titled “Breaking Changes”100d9ede(#7802) Follow file name conventions set by desktop for mobile Tauri configuration files. Addedtargetargument on mostconfig::parsemethods.
v2.0.0-alpha.7
Section titled “v2.0.0-alpha.7”New Features
Section titled “New Features”4db363a0(#6589) Addedvisible_on_all_workspacesconfiguration option toWindowBuilder,Window, andWindowConfig.7fb419c3(#7535) Add option to specify a tooltip text for the tray icon in the config.74b1f4fc(#7384) AddWindowEffect::MicaDarkandWindowEffect::MicaLight3b98141a(#3736) Add a configuration object for file associations underBundleConfig.
Enhancements
Section titled “Enhancements”Security fixes
Section titled “Security fixes”Breaking Changes
Section titled “Breaking Changes”v2.0.0-alpha.6
Section titled “v2.0.0-alpha.6”New Features
Section titled “New Features”v2.0.0-alpha.5
Section titled “v2.0.0-alpha.5”9a79dc08(#6947) Removeenable_tauri_apifrom the IPC scope.09376af5(#6704) Moved theclifeature to its own plugin in the plugins-workspace repository.e1e85dc2(#6925) Moved theprotocolscope configuration to theasset_protocolfield inSecurityConfig.e1e85dc2(#6925) Moved the updater configuration to theBundleConfig.b072daa3(#6919) Moved theupdaterfeature to its own plugin in the plugins-workspace repository.3188f376(#6883) Bump the MSRV to 1.65.e1e85dc2(#6925) Removed the allowlist configuration.2d5378bf(#6717) Remove the updater's dialog option.
v2.0.0-alpha.4
Section titled “v2.0.0-alpha.4”- Added
androidconfiguration object undertauri > bundle.
v2.0.0-alpha.3
Section titled “v2.0.0-alpha.3”v2.0.0-alpha.2
Section titled “v2.0.0-alpha.2”- Added the
shadowoption to the window configuration andset_shadowoption to thewindowallow list.
v2.0.0-alpha.1
Section titled “v2.0.0-alpha.1”- Bump the MSRV to 1.64.
- Added
crate_namefield onPackageInfo.
v2.0.0-alpha.0
Section titled “v2.0.0-alpha.0”- Parse
androidandiosTauri configuration files. - First mobile alpha release!
v1.5.3
Section titled “v1.5.3”New features
Section titled “New features”v1.5.3
Section titled “v1.5.3”New Features
Section titled “New Features”v1.5.2
Section titled “v1.5.2”Bug Fixes
Section titled “Bug Fixes”v1.5.0
Section titled “v1.5.0”New Features
Section titled “New Features”Enhancements
Section titled “Enhancements”9aa34ada(#7645) Add setting to switch tohttp://<scheme>.localhost/for custom protocols on Windows.
Bug Fixes
Section titled “Bug Fixes”Security fixes
Section titled “Security fixes”v1.4.0
Section titled “v1.4.0”New Features
Section titled “New Features”acc36fe1(#6158) Add option to configurerequire_literal_leading_dotonfsandassetprotocol scopes.35cd751a(#5176) Added thedesktop_templateoption ontauri.conf.json > tauri > bundle > deb.c4d6fb4b(#2353) Added themaximizable,minimizableandclosableoptions to the window configuration.3cb7a3e6(#6997) AddMimeType::parse_with_fallbackandMimeType::parse_from_uri_with_fallback29488205(#6867) Allow specifying custom language files of Tauri's custom messages for the NSIS installere092f799(#6887) Addnsis > templateoption to specify custom NSIS installer template.cd3846c8(#6955) AddWindowsUpdateInstallMode::nsis_args85e77fb7(#6762) Correctly determine MIME type of.txtfiles.
v1.3.0
Section titled “v1.3.0”- Added the
additional_browser_argsoption to the window configuration. - Added the
content_protectedoption to the window configuration. - Correctly determine mime type of
.less,.sassand.stylfiles. - Bump minimum supported Rust version to 1.60.
- Add initial support for building
nsisbundles on non-Windows platforms. - Add
nsisbundle target - Added configuration to specify remote URLs allowed to access the IPC.
v1.2.1
Section titled “v1.2.1”- Fix
allowlist > app > show/hidealways disabled whenallowlist > app > all: false.
v1.2.0
Section titled “v1.2.0”- Validate
package > productNamein the tauri config and produce errors if it contains one of the following characters/\:*?\"<>| - Properly serialize HTML template tags.
PatternKind::Isolationis now defined even without theisolationfeature.- Added the
appallowlist module. - Add
tauri.conf.json > bundle > publisherfield to specify the app publisher. - Canonicalize the return value of
platform::resource_dir. - Added
titleoption on the system tray configuration (macOS only). - Added the
user_agentoption to the window configuration. - Add
mime_typemodule.
v1.1.1
Section titled “v1.1.1”- Add missing allowlist config for
set_cursor_grab,set_cursor_visible,set_cursor_iconandset_cursor_positionAPIs.
v1.1.0
Section titled “v1.1.0”- Allow adding
build > beforeBundleCommandin tauri.conf.json to run a shell command before the bundling phase. - Change
before_dev_commandandbefore_build_commandconfig value to allow configuring the current working directory. - Allow configuring the
before_dev_commandto force the CLI to wait for the command to finish before proceeding. - Added support to configuration files in TOML format (Tauri.toml file).
- Refactored the
config::parsemodule. - Update windows to 0.39.0 and webview2-com to 0.19.1.
v1.0.3
Section titled “v1.0.3”- Added
menu_on_left_click: boolto theSystemTrayConfig. - Added
config::parse::read_platformandconfig::parse::get_platform_config_filename.
v1.0.2
Section titled “v1.0.2”- Expose
platform::windows_versionfunction.
v1.0.1
Section titled “v1.0.1”- Changed the
BundleConfig::targetsto aBundleTargetenum to enhance generated documentation. - Added
platform::is_windows_7. - Suppress unused variable warning in release builds.
- Added webview install mode options.
v1.0.0
Section titled “v1.0.0”v1.0.0-rc.9
Section titled “v1.0.0-rc.9”- Added a config flag to bundle the media framework used by webkit2gtk
tauri.conf.json > tauri > bundle > appimage > bundleMediaFramework.
v1.0.0-rc.8
Section titled “v1.0.0-rc.8”- Breaking change:
PackageInfo::versionis now asemver::Versioninstead of aString.
v1.0.0-rc.7
Section titled “v1.0.0-rc.7”- Allow configuring the display options for the MSI execution allowing quieter updates.
v1.0.0-rc.6
Section titled “v1.0.0-rc.6”- 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
Section titled “v1.0.0-rc.5”- Added the
iomodule with theread_linemethod. - Breaking change: Removed the
useBootstrapperoption. Use https://github.com/tauri-apps/fix-path-env-rs instead.
v1.0.0-rc.4
Section titled “v1.0.0-rc.4”-
Added an option to disable the CSP injection of distributable assets nonces and hashes.
-
Use the default value for
MacConfig.minimumSystemVersionif the value is set to an empty string. -
Replace multiple dependencies who's C code compiled concurrently and caused the other ones to bloat compile time significantly.
-
zstd->brotli -
blake3-> a vendored version of the blake3 reference -
ring->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
Section titled “v1.0.0-rc.3”- Use
is_symlinkAPI compatible with Rust v1.57 instead of std/fs/struct.Metadata.html#method.is_symlink.
v1.0.0-rc.2
Section titled “v1.0.0-rc.2”- Changed the default value for
tauri > bundle > macOS > minimumSystemVersionto10.13.
v1.0.0-rc.1
Section titled “v1.0.0-rc.1”- Change default value for the
freezePrototypeconfiguration tofalse.
v1.0.0-rc.0
Section titled “v1.0.0-rc.0”- The
allowlistconfiguration now includes aclipboardobject, controlling the exposure of thewriteTextandreadTextAPIs. - The dialog allowlist now includes flags for the
message,askandconfirmAPIs. - The
allowlistconfiguration now includes aprocessobject, controlling the exposure of therelaunchandexitAPIs. - The
windowallowlist now includes options to enable all window modification APIs:center,close,create,hide,maximize,minimize,print,requestUserAttention,setAlwaysOnTop,setDecorations,setFocus,setFullscreen,setIcon,setMaxSize,setMinSize,setPosition,setResizable,setSize,setSkipTaskbar,setTitle,show,startDragging,unmaximizeandunminimize. - Added
assetallowlist configuration, which enables theassetprotocol and defines it access scope. - Change
CliArgnumeric types fromu64tousize. - Apply
noncetoscriptandstyletags and set them on theCSP(script-srcandstyle-srcfetch directives). - The path returned from
tauri::api::process::current_binaryis now cached when loading the binary. - Added
dev_cspto thesecurityconfiguration object. - Fixes resource directory resolution on Linux.
- Allow using a fixed version for the Webview2 runtime via the
tauri > bundle > windows > webviewFixedRuntimePathconfig option. - The updater
pubkeyis now a required field for security reasons. Sign your updates with thetauri signercommand. - Added the
isolationpattern.- d5d6d2ab Isolation Pattern (#43) Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <wusyong9104@gmail.com> Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app> on 2022-01-17
- 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
- Move the copying of resources and sidecars from
cli.rstotauri-buildso using the Cargo CLI directly processes the files for the application execution in development. - Breaking change* Remove default webview window when
tauri.conf.json > tauri > windowsis not set. - The minimum Rust version is now
1.56. - Adds
scopeglob array config undertauri > allowlist > fs. AddsassetScopeglob array config undertauri > allowlist > protocol. AddsscopeURL array config undertauri > allowlist > http. - The
shellallowlist now includes asidecarflag, which enables the use of theshellAPI to execute sidecars. - Force updater endpoint URL to use
httpson release builds.
v1.0.0-beta-rc.1
Section titled “v1.0.0-beta-rc.1”- The package info APIs now checks the
packageobject ontauri.conf.json.
v1.0.0-beta-rc.0
Section titled “v1.0.0-beta-rc.0”- The Tauri files are now read on the app space instead of the
tauricreate. Also, theAppBuilderbuildfunction now returns a Result. - Update all code files to have our license header.
v1.0.0-beta.3
Section titled “v1.0.0-beta.3”- Fixes minimum window height being used as maximum height.
- Implement
Debugon public API structs and enums. - Keep original value on
config > package > productNameon Linux (previously converted to kebab-case). - Inject the invoke key on regular
<script></script>tags.
v1.0.0-beta.2
Section titled “v1.0.0-beta.2”- Inject invoke key on
scripttags withtype="module". 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.1
Section titled “v1.0.0-beta.1”- Allow
dev_pathanddist_dirto be an array of root files and directories to embed. - Validate
tauri.conf.json > build > devPathandtauri.conf.json > build > distDirvalues. - Adds
file_drop_enabledflag onWindowConfig. - Hide
phfcrate export (not public API).
v1.0.0-beta.0
Section titled “v1.0.0-beta.0”- Breaking: The
assetsfield on thetauri::Contextstruct is now aArc<impl Assets>. - Reintroduce
cspinjection, configured ontauri.conf.json > tauri > security > csp. - Added the `#[non_exhaustive] attribute where appropriate.
- The
platform::resource_dirAPI now takes thePackageInfo.
© 2026 Tauri Contributors. CC-BY / MIT