64 KiB
Changelog
[2.0.0-rc.0]
New Features
a5bfbaa62
(#9962) Addedbundle > iOS > frameworks
configuration to define a list of frameworks that are linked to the Xcode project when it is generated.
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
-
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
426d14bb4
(#10423) Explicitly check that the main frame's origin is the sender of Isolation Payloads
[2.0.0-beta.19]
New Features
4c239729c
(#10167 by @amrbashir) AddRawIsolationPayload::content_type
method.
[2.0.0-beta.18]
New Features
fafc238f7
(#9977) Addbundle > homepage
option, if unset, it will fallback tohomepage
defined inCargo.toml
.656a64974
(#9318) Added a configuration option to disable hardened runtime on macOS codesign.5b769948a
(#9959) Addinclude_image
macro to help embedding instances ofImage
struct 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 > startMenuFolder
option to customize start menu folder for NSIS installer
Enhancements
Breaking Changes
3ab170917
(#9932) ChangedNsisSettings::compression
field fromOption<NsisCompression>
to justNsisCompression
911242f09
(#9883) Move updater target frombundle > targets
to a separate fieldbundle > createUpdaterArtifacts
3ab170917
(#9932) ChangedNsisConfig::compression
field fromOption<NsisCompression>
to justNsisCompression
[2.0.0-beta.17]
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_hooks
NSIS configuration fieldd6d3efbd1
(#9865) Addsign_command
inWindowsConfig
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_name
andPackageInfo::package_name
[2.0.0-beta.16]
Bug Fixes
[2.0.0-beta.15]
Bug Fixes
[2.0.0-beta.14]
Bug Fixes
[2.0.0-beta.13]
Bug Fixes
[2.0.0-beta.12]
New Features
36b4c1249
(#9331) Added support forprovides
,conflicts
andreplaces
(obsoletes
for RPM) options forbundler > deb
andbundler > rpm
configs.
[2.0.0-beta.11]
New Features
259d84529
(#9209) AddedpreInstallScript
,postInstallScript
,preRemoveScript
andpostRemoveScript
options forbundler > deb
andbundler > rpm
configs.
Enhancements
7c334cb18
(#9327) Make the isolation pattern encrypt key unextractable.a804a70a7
(#9328) The isolation iframe script now removes itself after execution.
Breaking Changes
06833f4fa
(#9100) RenameFileDrop
toDragDrop
on structs, enums and enum variants. Also renamedfile_drop
todrag_drop
on fields and function names.
[2.0.0-beta.10]
New Features
Enhancements
7213b9e47
(#9124) Fallback to an empty permission set if the plugin did not define itsdefault
permissions.
[2.0.0-beta.9]
Breaking Changes
[2.0.0-beta.8]
Enhancements
Breaking Changes
4ef17d083
(#9116) The ACL configuration for remote URLs now uses the URLPattern standard instead of glob patterns.
[2.0.0-beta.7]
Bug Fixes
86fa339de
(#9071) Fix compile time error in context generation when usingapp.windows.windowEffects.color
6c0683224
(#9068) Fixes scope resolution grouping scopes for all windows.c68218b36
(#8990) FixBundleTarget::to_vec
returning an empty vec forBundleTarget::All
variant.c68218b36
(#8990) AddBundleType::all
method to return all possibleBundleType
variants.
Breaking Changes
9aa0d6e95
(#9069) Removeddebug_eprintln!
andconsume_unused_variable
macros.bb23511ea
(#9079) ChangedCapabiltyFile::List
enum variant to be a tuple-struct and addedCapabiltyFile::NamedList
. This allows more flexibility when parsing capabilties from JSON files.
[2.0.0-beta.6]
New Features
d7f56fef
(#9014) Allow defining a permission that only applies to a set of target platforms via theplatforms
configuration option.
Enhancements
Breaking Changes
3657ad82
(#9008) Allow defining permissions for the application commands viatauri_build::Attributes::app_manifest
.
[2.0.0-beta.5]
Enhancements
bc5b5e67
(#8984) Do not include a CSP tag in the application HTML and rely on the custom protocol response header instead.
[2.0.0-beta.4]
Breaking Changes
a76fb118
(#8950) Changed the capability format to allow configuring bothremote: { urls: Vec<String> }
andlocal: bool (default: true)
instead of choosing one on thecontext
field.
[2.0.0-beta.3]
Breaking Changes
361ec37f
(#8932) MovedProgressBarState
fromtauri-utils
to thetauri::window
module and removed theunity_uri
field.
[2.0.0-beta.2]
Enhancements
0cb0a15c
(#8789) Addwebviews
array on the capability for usage on multiwebview contexts.83a68deb
(#8797) Added a new configuration optiontauri.conf.json > app > security > capabilities
to reference existing capabilities and inline new ones. If it is empty, all capabilities are still included preserving the current behavior.8d16a80d
(#8802) TheContext
struct 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
Breaking Changes
f284f9c5
(#8898) Changed the capabilityremote
configuration to take a list ofurls
instead ofdomains
for more flexibility.
[2.0.0-beta.1]
Enhancements
4e101f80
(#8756) Moved the capability JSON schema to thesrc-tauri/gen
folder so it's easier to track changes on thecapabilities
folder.
Bug Fixes
[2.0.0-beta.0]
New Features
74a2a603
(#8661) Implement access control list for IPC usage.9eaeb5a8
(#8622) Addparent
option for window config.58fe2e81
(#8670) AddWebviewUrl::CustomProtocol
enum variant.
What's Changed
6639a579
(#8441) Added theWindowConfig::proxy_url
WebviewBuilder::proxy_url() / WebviewWindowBuilder::proxy_url()
options when creating a webview.
Breaking Changes
-
8de308d1
(#8723) Restructured Tauri config per RFC#5:- Moved
package.productName
,package.version
andtauri.bundle.identifier
fields to the top-level. - Removed
package
object. - Renamed
tauri
object toapp
. - Moved
tauri.bundle
object to the top-level. - Renamed
build.distDir
field tofrontendDist
. - Renamed
build.devPath
field todevUrl
and will no longer accepts paths, it will only accept URLs. - Moved
tauri.pattern
toapp.security.pattern
. - Removed
tauri.bundle.updater
object, and its fields have been moved to the updater plugin underplugins.updater
object. - Moved
build.withGlobalTauri
toapp.withGlobalTauri
. - Moved
tauri.bundle.dmg
object tobundle.macOS.dmg
. - Moved
tauri.bundle.deb
object tobundle.linux.deb
. - Moved
tauri.bundle.appimage
object tobundle.linux.appimage
. - Removed all license fields from each bundle configuration object and instead added
bundle.license
andbundle.licenseFile
. - Renamed
AppUrl
toFrontendDist
and refactored its variants to be more explicit.
- Moved
-
c77b4032
(#8280) Renamedconfig::WindowUrl
toconfig::WebviewUrl
. -
a093682d
(#8621) Changederror
field inConfigError::FormatToml
to be boxedBox<toml::de::Error>
to reduce the enumConfigError
size in memory. -
58fe2e81
(#8670) Changeddist_dir
anddev_path
config options to be optional.
[2.0.0-alpha.13]
Bug Fixes
[2.0.0-alpha.12]
New Features
- `` Add bundle DMG configuration options.
[2.0.0-alpha.11]
Breaking Changes
5e84e92e
(#8243) Changedplatform::windows_version
to return a(u32, u32, u32)
instead ofOption<(u32, u32, u32)>
[2.0.0-alpha.10]
Enhancements
c6c59cf2
Pull changes from Tauri 1.5 release.
Dependencies
[2.0.0-alpha.9]
New Features
c085adda
(#8009) Addedset_progress_bar
toWindow
.c1ec0f15
(#7933) Added thealways_on_bottom
option to the window configuration.880266a7
(#8031) Bump the MSRV to 1.70.ed32257d
(#7794) On Windows, addWindowEffect::Tabbed
,WindowEffect::TabbedDark
andWindowEffect::TabbedLight
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_DEBUG
toTAURI_ENV_PLATFORM, TAURI_ENV_ARCH, TAURI_ENV_FAMILY, TAURI_ENV_PLATFORM_VERSION, TAURI_ENV_PLATFORM_TYPE and TAURI_ENV_DEBUG
to differentiate the prefix with other CLI environment variables.
[2.0.0-alpha.8]
Enhancements
- Add an option to specify
id
for the tray icon in the tauri configuration file.
Breaking Changes
100d9ede
(#7802) Follow file name conventions set by desktop for mobile Tauri configuration files. Addedtarget
argument on mostconfig::parse
methods.
[2.0.0-alpha.7]
New Features
4db363a0
(#6589) Addedvisible_on_all_workspaces
configuration option toWindowBuilder
,Window
, andWindowConfig
.7fb419c3
(#7535) Add option to specify a tooltip text for the tray icon in the config.74b1f4fc
(#7384) AddWindowEffect::MicaDark
andWindowEffect::MicaLight
3b98141a
(#3736) Add a configuration object for file associations underBundleConfig
.
Enhancements
Security fixes
Breaking Changes
[2.0.0-alpha.6]
New Features
[2.0.0-alpha.5]
9a79dc08
(#6947) Removeenable_tauri_api
from the IPC scope.09376af5
(#6704) Moved thecli
feature to its own plugin in the plugins-workspace repository.e1e85dc2
(#6925) Moved theprotocol
scope configuration to theasset_protocol
field inSecurityConfig
.e1e85dc2
(#6925) Moved the updater configuration to theBundleConfig
.b072daa3
(#6919) Moved theupdater
feature 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.
[2.0.0-alpha.4]
- Added
android
configuration object undertauri > bundle
.
[2.0.0-alpha.3]
[2.0.0-alpha.2]
- Added the
shadow
option to the window configuration andset_shadow
option to thewindow
allow list.
[2.0.0-alpha.1]
- Bump the MSRV to 1.64.
- Added
crate_name
field onPackageInfo
.
[2.0.0-alpha.0]
- Parse
android
andios
Tauri configuration files. - First mobile alpha release!
[1.5.3]
New features
[1.5.2]
Bug Fixes
[1.5.3]
New Features
[1.5.0]
New Features
Enhancements
9aa34ada
(#7645) Add setting to switch tohttp://<scheme>.localhost/
for custom protocols on Windows.
Bug Fixes
Security fixes
[1.4.0]
New Features
acc36fe1
(#6158) Add option to configurerequire_literal_leading_dot
onfs
andasset
protocol scopes.35cd751a
(#5176) Added thedesktop_template
option ontauri.conf.json > tauri > bundle > deb
.c4d6fb4b
(#2353) Added themaximizable
,minimizable
andclosable
options to the window configuration.3cb7a3e6
(#6997) AddMimeType::parse_with_fallback
andMimeType::parse_from_uri_with_fallback
29488205
(#6867) Allow specifying custom language files of Tauri's custom messages for the NSIS installere092f799
(#6887) Addnsis > template
option to specify custom NSIS installer template.cd3846c8
(#6955) AddWindowsUpdateInstallMode::nsis_args
85e77fb7
(#6762) Correctly determine MIME type of.txt
files.
[1.3.0]
- Added the
additional_browser_args
option to the window configuration. - Added the
content_protected
option to the window configuration. - Correctly determine mime type of
.less
,.sass
and.styl
files. - Bump minimum supported Rust version to 1.60.
- Add initial support for building
nsis
bundles on non-Windows platforms. - Add
nsis
bundle target - Added configuration to specify remote URLs allowed to access the IPC.
[1.2.1]
- Fix
allowlist > app > show/hide
always disabled whenallowlist > app > all: false
.
[1.2.0]
- Validate
package > productName
in the tauri config and produce errors if it contains one of the following characters/\:*?\"<>|
- Properly serialize HTML template tags.
PatternKind::Isolation
is now defined even without theisolation
feature.- Added the
app
allowlist module. - Add
tauri.conf.json > bundle > publisher
field to specify the app publisher. - Canonicalize the return value of
platform::resource_dir
. - Added
title
option on the system tray configuration (macOS only). - Added the
user_agent
option to the window configuration. - Add
mime_type
module.
[1.1.1]
- Add missing allowlist config for
set_cursor_grab
,set_cursor_visible
,set_cursor_icon
andset_cursor_position
APIs.
[1.1.0]
- Allow adding
build > beforeBundleCommand
in tauri.conf.json to run a shell command before the bundling phase. - Change
before_dev_command
andbefore_build_command
config value to allow configuring the current working directory. - Allow configuring the
before_dev_command
to 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::parse
module. - Update windows to 0.39.0 and webview2-com to 0.19.1.
[1.0.3]
- Added
menu_on_left_click: bool
to theSystemTrayConfig
. - Added
config::parse::read_platform
andconfig::parse::get_platform_config_filename
.
[1.0.2]
- Expose
platform::windows_version
function.
[1.0.1]
- Changed the
BundleConfig::targets
to aBundleTarget
enum to enhance generated documentation. - Added
platform::is_windows_7
. - Suppress unused variable warning in release builds.
- Added webview install mode options.
[1.0.0]
[1.0.0-rc.9]
- Added a config flag to bundle the media framework used by webkit2gtk
tauri.conf.json > tauri > bundle > appimage > bundleMediaFramework
.
[1.0.0-rc.8]
- Breaking change:
PackageInfo::version
is now asemver::Version
instead of aString
.
[1.0.0-rc.7]
- Allow configuring the display options for the MSI execution allowing quieter updates.
[1.0.0-rc.6]
- Added
$schema
support totauri.conf.json
. - The
dangerous_allow_asset_csp_modification
configuration value has been changed to allow a list of CSP directives to disable.
[1.0.0-rc.5]
- Added the
io
module with theread_line
method. - Breaking change: Removed the
useBootstrapper
option. Use https://github.com/tauri-apps/fix-path-env-rs instead.
[1.0.0-rc.4]
-
Added an option to disable the CSP injection of distributable assets nonces and hashes.
-
Use the default value for
MacConfig.minimumSystemVersion
if 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
[1.0.0-rc.3]
- Use
is_symlink
API compatible with Rust v1.57 instead of std/fs/struct.Metadata.html#method.is_symlink.
[1.0.0-rc.2]
- Changed the default value for
tauri > bundle > macOS > minimumSystemVersion
to10.13
.
[1.0.0-rc.1]
- Change default value for the
freezePrototype
configuration tofalse
.
[1.0.0-rc.0]
- The
allowlist
configuration now includes aclipboard
object, controlling the exposure of thewriteText
andreadText
APIs. - The dialog allowlist now includes flags for the
message
,ask
andconfirm
APIs. - The
allowlist
configuration now includes aprocess
object, controlling the exposure of therelaunch
andexit
APIs. - The
window
allowlist 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
,unmaximize
andunminimize
. - Added
asset
allowlist configuration, which enables theasset
protocol and defines it access scope. - Change
CliArg
numeric types fromu64
tousize
. - Apply
nonce
toscript
andstyle
tags and set them on theCSP
(script-src
andstyle-src
fetch directives). - The path returned from
tauri::api::process::current_binary
is now cached when loading the binary. - Added
dev_csp
to thesecurity
configuration object. - Fixes resource directory resolution on Linux.
- Allow using a fixed version for the Webview2 runtime via the
tauri > bundle > windows > webviewFixedRuntimePath
config option. - The updater
pubkey
is now a required field for security reasons. Sign your updates with thetauri signer
command. - Added the
isolation
pattern.- 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.json
file, along with also supporting the.json5
extension.
Here is the logic flow that determines if JSON or JSON5 will be used to parse the config:
- Check if
tauri.conf.json
exists a. Parse it withserde_json
b. Parse it withjson5
ifserde_json
fails c. Return originalserde_json
error if all above steps failed - Check if
tauri.conf.json5
exists a. Parse it withjson5
b. 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.rs
totauri-build
so 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 > windows
is not set. - The minimum Rust version is now
1.56
. - Adds
scope
glob array config undertauri > allowlist > fs
. AddsassetScope
glob array config undertauri > allowlist > protocol
. Addsscope
URL array config undertauri > allowlist > http
. - The
shell
allowlist now includes asidecar
flag, which enables the use of theshell
API to execute sidecars. - Force updater endpoint URL to use
https
on release builds.
[1.0.0-beta.3]
- Fixes minimum window height being used as maximum height.
- Implement
Debug
on public API structs and enums. - Keep original value on
config > package > productName
on Linux (previously converted to kebab-case). - Inject the invoke key on regular
<script></script>
tags.
[1.0.0-beta.2]
- Inject invoke key on
script
tags withtype="module"
. Params
has 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 parameterParams
now useRuntime
instead. If you use thewry
feature, then types with aRuntime
generic parameter should default toWry
, letting you omit the explicit type and let the compiler infer it instead.
tauri
:
- See
Params
note - If you were using
Params
inside 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 removeParams
from 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_runtime
proc macro to allow us to give item definitions a custom runtime only when the specified feature is enabled.
tauri-runtime
:
- See
Params
note - 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
MenuId
generic now use the underlyingMenuId
type without a generic.
- All previous menu items that had a
Runtime
,RuntimeHandle
, andDispatch
have no more generic parameter oncreate_window(...)
and instead use theRuntime
type directlyRuntime::system_tray
has no moreMenuId
generic and uses the string basedSystemTray
type directly.- (internal)
CustomMenuItem::id_value()
is now hashed on creation and exposed as theid
field with typeMenuHash
.
tauri-runtime-wry
:
- See
Params
note - update menu and runtime related types to the ones changed in
tauri-runtime
.
tauri-utils
:
Assets::get
signature has changed to take a&AssetKey
instead ofimpl Into<AssetKey>
to become trait object safe.- fd8fab50 refactor(core): remove
Params
and replace with strings (#2191) on 2021-07-15
[1.0.0-beta.1]
- Allow
dev_path
anddist_dir
to be an array of root files and directories to embed. - Validate
tauri.conf.json > build > devPath
andtauri.conf.json > build > distDir
values. - Adds
file_drop_enabled
flag onWindowConfig
. - Hide
phf
crate export (not public API).
[1.0.0-beta.0]
- Breaking: The
assets
field on thetauri::Context
struct is now aArc<impl Assets>
. - Reintroduce
csp
injection, configured ontauri.conf.json > tauri > security > csp
. - Added the `#[non_exhaustive] attribute where appropriate.
- The
platform::resource_dir
API now takes thePackageInfo
.
[1.0.0-beta-rc.1]
- The package info APIs now checks the
package
object ontauri.conf.json
.
[1.0.0-beta-rc.0]
- The Tauri files are now read on the app space instead of the
tauri
create. Also, theAppBuilder
build
function now returns a Result. - Update all code files to have our license header.