9aa34ada
(#7645) Add setting to switch to http://<scheme>.localhost/
for custom protocols on Windows.acc36fe1
(#6158) Add option to configure require_literal_leading_dot
on fs
and asset
protcol scopes.35cd751a
(#5176) Added the desktop_template
option on tauri.conf.json > tauri > bundle > deb
.c4d6fb4b
(#2353) Added the maximizable
, minimizable
and closable
options to the window configuration.3cb7a3e6
(#6997) Add MimeType::parse_with_fallback
and MimeType::parse_from_uri_with_fallback
29488205
(#6867) Allow specifying custom language files of Tauri's custom messages for the NSIS installere092f799
(#6887) Add nsis > template
option to specify custom NSIS installer template.cd3846c8
(#6955) Add WindowsUpdateInstallMode::nsis_args
85e77fb7
(#6762) Correctly determine MIME type of .txt
files.additional_browser_args
option to the window configuration.
content_protected
option to the window configuration.
.less
, .sass
and .styl
files.
nsis
bundles on non-Windows platforms.
nsis
bundle target
allowlist > app > show/hide
always disabled when allowlist > app > all: false
.
package > productName
in the tauri config and produce errors if it contains one of the following characters /\:*?\"<>|
PatternKind::Isolation
is now defined even without the isolation
feature.
app
allowlist module.
tauri.conf.json > bundle > publisher
field to specify the app publisher.
platform::resource_dir
.
title
option on the system tray configuration (macOS only).
user_agent
option to the window configuration.
mime_type
module.
set_cursor_grab
, set_cursor_visible
, set_cursor_icon
and set_cursor_position
APIs.
build > beforeBundleCommand
in tauri.conf.json to run a shell command before the bundling phase.
before_dev_command
and before_build_command
config value to allow configuring the current working directory.
before_dev_command
to force the CLI to wait for the command to finish before proceeding.
config::parse
module.
menu_on_left_click: bool
to the SystemTrayConfig
.
config::parse::read_platform
and config::parse::get_platform_config_filename
.
platform::windows_version
function.
BundleConfig::targets
to a BundleTarget
enum to enhance generated documentation.
platform::is_windows_7
.
tauri.conf.json > tauri > bundle > appimage > bundleMediaFramework
.
PackageInfo::version
is now a semver::Version
instead of a String
.
$schema
support to tauri.conf.json
.
dangerous_allow_asset_csp_modification
configuration value has been changed to allow a list of CSP directives to disable.
io
module with the read_line
method.
useBootstrapper
option. Use https://github.com/tauri-apps/fix-path-env-rs instead.
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.
is_symlink
API compatible with Rust v1.57 instead of std/fs/struct.Metadata.html#method.is_symlink.
tauri > bundle > macOS > minimumSystemVersion
to 10.13
.
freezePrototype
configuration to false
.
allowlist
configuration now includes a clipboard
object, controlling the exposure of the writeText
and readText
APIs.
message
, ask
and confirm
APIs.
allowlist
configuration now includes a process
object, controlling the exposure of the relaunch
and exit
APIs.
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
and unminimize
.
asset
allowlist configuration, which enables the asset
protocol and defines it access scope.
CliArg
numeric types from u64
to usize
.
nonce
to script
and style
tags and set them on the CSP
(script-src
and style-src
fetch directives).
tauri::api::process::current_binary
is now cached when loading the binary.
dev_csp
to the security
configuration object.
tauri > bundle > windows > webviewFixedRuntimePath
config option.
pubkey
is now a required field for security reasons. Sign your updates with the tauri signer
command.
isolation
pattern.
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:
tauri.conf.json
exists
a. Parse it with serde_json
b. Parse it with json5
if serde_json
fails
c. Return original serde_json
error if all above steps failedtauri.conf.json5
exists
a. Parse it with json5
b. Return error if all above steps failedcli.rs
to tauri-build
so using the Cargo CLI directly processes the files for the application execution in development.
tauri.conf.json > tauri > windows
is not set.
1.56
.
scope
glob array config under tauri > allowlist > fs
.
Adds assetScope
glob array config under tauri > allowlist > protocol
.
Adds scope
URL array config under tauri > allowlist > http
.
shell
allowlist now includes a sidecar
flag, which enables the use of the shell
API to execute sidecars.
https
on release builds.
Debug
on public API structs and enums.
config > package > productName
on Linux (previously converted to kebab-case).
<script></script>
tags.
script
tags with type="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 parameter Params
now use Runtime
instead. If
you use the wry
feature, then types with a Runtime
generic parameter should default to Wry
, letting you omit the
explicit type and let the compiler infer it instead.tauri
:
Params
noteParams
inside a function parameter or definition, all references to it have been replaced with a
simple runtime that defaults to Wry
. If you are not using a custom runtime, just remove Params
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.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 an Into<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
:
default_runtime
proc macro to allow us to give item definitions a custom runtime only when
the specified feature is enabled.tauri-runtime
:
Params
noteParams
, MenuId
, Tag
, TagRef
.menu::{MenuHash, MenuId, MenuIdRef}
as type aliases for the internal type that menu types now use.
MenuId
generic now use the underlying MenuId
type without a generic.Runtime
, RuntimeHandle
, and Dispatch
have no more generic parameter on create_window(...)
and instead use the
Runtime
type directlyRuntime::system_tray
has no more MenuId
generic and uses the string based SystemTray
type directly.CustomMenuItem::id_value()
is now hashed on creation and exposed as the id
field with type MenuHash
.tauri-runtime-wry
:
Params
notetauri-runtime
.tauri-utils
:
Assets::get
signature has changed to take a &AssetKey
instead of impl Into<AssetKey>
to become trait object
safe.Params
and replace with strings (#2191) on 2021-07-15dev_path
and dist_dir
to be an array of root files and directories to embed.
tauri.conf.json > build > devPath
and tauri.conf.json > build > distDir
values.
file_drop_enabled
flag on WindowConfig
.
phf
crate export (not public API).
assets
field on the tauri::Context
struct is now a Arc<impl Assets>
.
csp
injection, configured on tauri.conf.json > tauri > security > csp
.
platform::resource_dir
API now takes the PackageInfo
.
package
object on tauri.conf.json
.
tauri
create.
Also, the AppBuilder
build
function now returns a Result.