tauri/core/tauri-utils/CHANGELOG.md
github-actions[bot] 713f84db2b
Apply Version Updates From Current Changes (#7823)
Co-authored-by: lucasfernog <lucasfernog@users.noreply.github.com>
2023-10-08 10:03:49 +00:00

41 KiB

Changelog

[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. Added target argument on most config::parse methods.

[2.0.0-alpha.7]

New Features

  • 4db363a0(#6589) Added visible_on_all_workspaces configuration option to WindowBuilder, Window, and WindowConfig.
  • 7fb419c3(#7535) Add option to specify a tooltip text for the tray icon in the config.
  • 74b1f4fc(#7384) Add WindowEffect::MicaDark and WindowEffect::MicaLight
  • 3b98141a(#3736) Add a configuration object for file associations under BundleConfig.

Enhancements

  • fbeb5b91(#7170) Use custom protocols on the IPC implementation to enhance performance.

Security fixes

  • 43c6285e(#7359) Changed HTML implementation from unmaintained kuchiki to kuchikiki.

Breaking Changes

  • 7fb419c3(#7535) systemTray config option has been renamed to trayIcon.

[2.0.0-alpha.6]

New Features

  • e0f0dce2(#6442) Added the window_effects option to the window configuration.

[2.0.0-alpha.5]

  • 9a79dc08(#6947) Remove enable_tauri_api from the IPC scope.
  • 09376af5(#6704) Moved the cli feature to its own plugin in the plugins-workspace repository.
  • e1e85dc2(#6925) Moved the protocol scope configuration to the asset_protocol field in SecurityConfig.
  • e1e85dc2(#6925) Moved the updater configuration to the BundleConfig.
  • b072daa3(#6919) Moved the updater 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 under tauri > bundle.
    • db4c9dc6 feat(core): add option to configure Android's minimum SDK version (#6651) on 2023-04-07

[2.0.0-alpha.3]

  • Pull changes from Tauri 1.3 release.
    • on undefined

[2.0.0-alpha.2]

  • Added the shadow option to the window configuration and set_shadow option to the window allow list.

[2.0.0-alpha.1]

  • Bump the MSRV to 1.64.
  • Added crate_name field on PackageInfo.

[2.0.0-alpha.0]

  • Parse android and ios Tauri configuration files.
    • b3a3afc7 feat(core): detect android and ios platform configuration files (#4997) on 2022-08-22
  • First mobile alpha release!

[1.4.0]

New Features

  • 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 installer
  • e092f799(#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.

[1.3.0]

  • Added the additional_browser_args option to the window configuration.
    • 3dc38b15 feat(core): expose additional_browser_args to window config (fix: #5757) (#5799) on 2022-12-14
  • Added the content_protected option to the window configuration.
  • Correctly determine mime type of .less, .sass and .styl files.
    • 5fdf8dcb fix(core): mime type of .less, .sass and .styl files (#6316) on 2023-02-19
  • Bump minimum supported Rust version to 1.60.
    • 5fdc616d feat: Use the zbus-backed of notify-rust (#6332) on 2023-03-31
  • Add initial support for building nsis bundles on non-Windows platforms.
    • 60e6f6c3 feat(bundler): Add support for creating NSIS bundles on unix hosts (#5788) on 2023-01-19
  • Add nsis bundle target
  • Added configuration to specify remote URLs allowed to access the IPC.
    • ee71c31f feat(core): allow configuring remote domains with IPC access, closes #5088 (#5918) on 2023-04-11

[1.2.1]

  • Fix allowlist > app > show/hide always disabled when allowlist > app > all: false.
    • bb251087 fix(core): extend allowlist with app's allowlist, closes #5650 (#5652) on 2022-11-18

[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 the isolation feature.
  • Added the app allowlist module.
    • 39bf895b feat(macOS): Add application show and hide methods (#3689) on 2022-10-03
  • Add tauri.conf.json > bundle > publisher field to specify the app publisher.
  • Canonicalize the return value of platform::resource_dir.
    • a06dc699 fix(core): canonicalize resource dir to fix scope check, closes #5196 (#5218) on 2022-09-29
  • Added title option on the system tray configuration (macOS only).
    • 8f1ace77 feat: expose set_title for MacOS tray (#5182) on 2022-09-30
  • Added the user_agent option to the window configuration.
    • a6c94119 feat(core): expose user_agent to window config (#5317) on 2022-10-02
  • Add mime_type module.
    • 54c337e0 feat(cli): hotreload support for frontend static files, closes #2173 (#5256) on 2022-09-28

[1.1.1]

  • Add missing allowlist config for set_cursor_grab, set_cursor_visible, set_cursor_icon and set_cursor_position APIs.
    • c764408d fix: Add missing allowlist config for cursor apis, closes #5207 (#5211) on 2022-09-16

[1.1.0]

  • Allow adding build > beforeBundleCommand in tauri.conf.json to run a shell command before the bundling phase.
  • Change before_dev_command and before_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).
    • ae83d008 feat: add support to TOML config file Tauri.toml, closes #4806 (#4813) on 2022-08-02
  • Refactored the config::parse module.
    • ae83d008 feat: add support to TOML config file Tauri.toml, closes #4806 (#4813) on 2022-08-02
  • Update windows to 0.39.0 and webview2-com to 0.19.1.
    • e6d9b670 refactor: remove unneeded focus code (#5065) on 2022-09-03

[1.0.3]

  • Added menu_on_left_click: bool to the SystemTrayConfig.
    • f8a3becb feat(core): add option to disable tray menu on left click, closes #4584 (#4587) on 2022-07-05
  • Added config::parse::read_platform and config::parse::get_platform_config_filename.
    • 8e3e7fc6 feat(cli): improve bundle identifier validation, closes #4589 (#4596) on 2022-07-05

[1.0.2]

  • Expose platform::windows_version function.
    • bf764e83 feat(utils): expose windows_version function (#4534) on 2022-06-30

[1.0.1]

  • Changed the BundleConfig::targets to a BundleTarget enum to enhance generated documentation.
    • 31c15cd2 docs(config): enhance documentation for bundle targets, closes #3251 (#4418) on 2022-06-21
  • Added platform::is_windows_7.
    • 57039fb2 fix(core): add windows 7 notification support (#4491) on 2022-06-28
  • Suppress unused variable warning in release builds.
    • 45981851 chore(lint): unused variable warnings for release builds (#4411) on 2022-06-22
  • Added webview install mode options.

[1.0.0]

  • Upgrade to stable!

[1.0.0-rc.9]

  • Added a config flag to bundle the media framework used by webkit2gtk tauri.conf.json > tauri > bundle > appimage > bundleMediaFramework.
    • d335fae9 feat(bundler): bundle additional gstreamer files, closes #4092 (#4271) on 2022-06-10

[1.0.0-rc.8]

  • Breaking change: PackageInfo::version is now a semver::Version instead of a String.
    • 2badbd2d refactor: force semver versions, change updater should_install sig (#4215) on 2022-05-25
    • a7388e23 fix(ci): adjust change file to include tauri-utils and tauri-codegen on 2022-05-27

[1.0.0-rc.7]

  • Allow configuring the display options for the MSI execution allowing quieter updates.
    • 9f2c3413 feat(core): configure msiexec display options, closes #3951 (#4061) on 2022-05-15

[1.0.0-rc.6]

  • Added $schema support to tauri.conf.json.
    • 715cbde3 feat(config): add $schema to tauri.conf.json, closes #3464 (#4031) on 2022-05-03
  • The dangerous_allow_asset_csp_modification configuration value has been changed to allow a list of CSP directives to disable.
    • 164078c0 feat: allow limiting dangerousDisableAssetCspModification, closes #3831 (#4021) on 2022-05-02

[1.0.0-rc.5]

[1.0.0-rc.4]

  • Added an option to disable the CSP injection of distributable assets nonces and hashes.

    • f6e32ee1 feat(core): add dangerous option to disable compile time CSP injection (#3775) on 2022-03-28
  • Use the default value for MacConfig.minimumSystemVersion if the value is set to an empty string.

    • c81534eb feat(cli): use default macOS minimum system version when it is empty (#3658) on 2022-03-13
  • 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.
    • 73388119 use older symlink check function (#3579) on 2022-03-01

[1.0.0-rc.2]

  • Changed the default value for tauri > bundle > macOS > minimumSystemVersion to 10.13.
    • fce344b9 feat(core): set default value for minimum_system_version to 10.13 (#3497) on 2022-02-17

[1.0.0-rc.1]

  • Change default value for the freezePrototype configuration to false.

[1.0.0-rc.0]

  • The allowlist configuration now includes a clipboard object, controlling the exposure of the writeText and readText APIs.
    • d660cab3 feat: enhance allowlist configuration [TRI-027] (#11) on 2022-01-09
  • The dialog allowlist now includes flags for the message, ask and confirm APIs.
    • d660cab3 feat: enhance allowlist configuration [TRI-027] (#11) on 2022-01-09
  • The allowlist configuration now includes a process object, controlling the exposure of the relaunch and exit APIs.
    • d660cab3 feat: enhance allowlist configuration [TRI-027] (#11) on 2022-01-09
  • 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 and unminimize.
    • d660cab3 feat: enhance allowlist configuration [TRI-027] (#11) on 2022-01-09
  • Added asset allowlist configuration, which enables the asset protocol and defines it access scope.
    • 7920ff14 feat: scope the fs API and the asset protocol [TRI-026] [TRI-010] [TRI-011] (#10) on 2022-01-09
  • Change CliArg numeric types from u64 to usize.
  • Apply nonce to script and style tags and set them on the CSP (script-src and style-src fetch directives).
    • cf54dcf9 feat: improve CSP security with nonces and hashes, add devCsp [TRI-004] (#8) on 2022-01-09
  • The path returned from tauri::api::process::current_binary is now cached when loading the binary.
    • 7c3db7a3 cache current binary path much sooner (#45) on 2022-02-01
  • Added dev_csp to the security configuration object.
    • cf54dcf9 feat: improve CSP security with nonces and hashes, add devCsp [TRI-004] (#8) on 2022-01-09
  • Fixes resource directory resolution on Linux.
    • 1a28904b fix(core): resource path resolution on Linux, closes #2493 on 2021-08-22
  • Allow using a fixed version for the Webview2 runtime via the tauri > bundle > windows > webviewFixedRuntimePath config option.
    • 85df94f2 feat(core): config for fixed webview2 runtime version path (#27) on 2021-11-02
  • The updater pubkey is now a required field for security reasons. Sign your updates with the tauri signer command.
    • d95cc831 feat: enforce updater public key [TRI-015] (#42) on 2022-01-09
  • Added the isolation pattern.
  • 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:

  1. Check if 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 failed
  2. Check if tauri.conf.json5 exists a. Parse it with json5 b. Return error if all above steps failed
  3. 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 to tauri-build so using the Cargo CLI directly processes the files for the application execution in development.
    • 5eb72c24 refactor: copy resources and sidecars on the Cargo build script (#3357) on 2022-02-08
  • Breaking change* Remove default webview window when tauri.conf.json > tauri > windows is not set.
    • c119060e refactor(core): empty default value for config > tauri > windows (#3380) on 2022-02-10
  • The minimum Rust version is now 1.56.
    • a9dfc015 feat: update to edition 2021 and set minimum rust to 1.56 (#2789) on 2021-10-22
  • Adds 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.
    • 7920ff14 feat: scope the fs API and the asset protocol [TRI-026] [TRI-010] [TRI-011] (#10) on 2022-01-09
    • 0ad1c651 feat(core): add http allowlist scope [TRI-008] (#24) on 2021-10-29
  • The shell allowlist now includes a sidecar flag, which enables the use of the shell API to execute sidecars.
    • eed01728 feat(core): add shell > sidecar allowlist and process feature flag [TRI-037] (#18) on 2021-10-24
  • Force updater endpoint URL to use https on release builds.
    • c077f449 feat: force endpoint URL to use https on release [TRI-015] (#41) on 2022-01-09

[1.0.0-beta.3]

  • Fixes minimum window height being used as maximum height.
    • e3f99165 fix(core) minHeight being used as maxHeight (#2247) on 2021-07-19
  • Implement Debug on public API structs and enums.
    • fa9341ba feat(core): implement Debug on public API structs/enums, closes #2292 (#2387) on 2021-08-11
  • Keep original value on config > package > productName on Linux (previously converted to kebab-case).
    • 3f039cb8 fix: keep original productName for .desktop Name field, closes #2295 (#2384) on 2021-08-10
  • Inject the invoke key on regular <script></script> tags.
    • d0142e87 fix(core): invoke key injection on regular JS scripts, closes #2342 (#2344) on 2021-08-03

[1.0.0-beta.2]

  • Inject invoke key on script tags with type="module".
    • f03eea9c feat(core): inject invoke key on <script type="module"> (#2120) on 2021-06-29
  • 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:

  • 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 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.
  • 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 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:

  • (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 underlying MenuId type without a generic.
  • Runtime, RuntimeHandle, and Dispatch have no more generic parameter on create_window(...) and instead use the Runtime type directly
  • Runtime::system_tray has no more MenuId generic and uses the string based SystemTray type directly.
  • (internal) CustomMenuItem::id_value() is now hashed on creation and exposed as the id field with type MenuHash.

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 of impl 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 and dist_dir to be an array of root files and directories to embed.
    • 6ec54c53 feat(core): allow dev_path, dist_dir as array of paths, fixes #1897 (#1926) on 2021-05-31
  • Validate tauri.conf.json > build > devPath and tauri.conf.json > build > distDir values.
    • e97846aa feat(core): validate devPath and distDir values (#1848) on 2021-05-17
  • Adds file_drop_enabled flag on WindowConfig.
    • 9cd10df4 feat(core): allow disabling file drop handler, closes #2014 (#2030) on 2021-06-21
  • Hide phf crate export (not public API).

[1.0.0-beta.0]

  • Breaking: The assets field on the tauri::Context struct is now a Arc<impl Assets>.
    • 5110c70 feat(core): allow users to access the Assets instance (#1691) on 2021-05-03
  • Reintroduce csp injection, configured on tauri.conf.json > tauri > security > csp.
    • 6132f3f feat(core): reintroduce CSP injection (#1704) on 2021-05-04
  • Added the `#[non_exhaustive] attribute where appropriate.
    • e087f0f feat: add #[non_exhaustive] attribute (#1725) on 2021-05-05
  • The platform::resource_dir API now takes the PackageInfo.
    • 7bb7dda refactor(core): resolve resource_dir using the package info (#1762) on 2021-05-10

[1.0.0-beta-rc.1]

  • The package info APIs now checks the package object on tauri.conf.json.
    • 8fd1baf fix(core): pull package info from tauri.conf.json if set (#1581) on 2021-04-22
    • f575aaa fix: change files not referencing core packages (#1619) on 2021-04-25

[1.0.0-beta-rc.0]

  • The Tauri files are now read on the app space instead of the tauri create. Also, the AppBuilder build function now returns a Result.
    • e02c941 refactor(tauri): support for building without environmental variables (#850) on 2021-02-09
    • a6def70 Refactor(tauri): move tauri-api and tauri-updater to tauri (#1455) on 2021-04-11
  • Update all code files to have our license header.
    • bf82136 feat(license): SPDX Headers (#1449) on 2021-04-11
    • a6def70 Refactor(tauri): move tauri-api and tauri-updater to tauri (#1455) on 2021-04-11
    • aea6145 refactor(repo): add /tooling folder (#1457) on 2021-04-12