2022-01-23 22:48:42 +03:00
< img src = ".github/splash.png" alt = "Tauri" / >
2019-07-13 22:55:25 +03:00
2022-07-25 18:03:18 +03:00
[![status ](https://img.shields.io/badge/status-stable-blue.svg )](https://github.com/tauri-apps/tauri/tree/dev)
2021-04-25 19:15:05 +03:00
[![License ](https://img.shields.io/badge/License-MIT%20or%20Apache%202-green.svg )](https://opencollective.com/tauri)
Merge remote-tracking branch 'origin/dev' into next (#7067)
Co-authored-by: wusyong <wusyong@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Simon Hyll <hyllsimon@gmail.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: chip <chip@chip.sh>
Co-authored-by: Raphii <iam@raphii.co>
Co-authored-by: Ronie Martinez <ronmarti18@gmail.com>
Co-authored-by: hanaTsuk1 <101488209+hanaTsuk1@users.noreply.github.com>
Co-authored-by: nathan-fall <39990940+nathan-fall@users.noreply.github.com>
Co-authored-by: Akshay <nerdy@peppe.rs>
Co-authored-by: KurikoMoe <kurikomoe@gmail.com>
Co-authored-by: Guilherme Oenning <me@goenning.net>
Co-authored-by: Pierre Cashon <biaocy91@gmail.com>
Co-authored-by: Jack Wills <32690432+mrjackwills@users.noreply.github.com>
Co-authored-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Co-authored-by: Risto Stevcev <me@risto.codes>
Co-authored-by: Soumt <rltks1305@naver.com>
Co-authored-by: yutotnh <57719497+yutotnh@users.noreply.github.com>
Co-authored-by: Gökçe Merdun <agmmnn@gmail.com>
Co-authored-by: Nathanael Rea <Nathan@NathanaelRea.com>
Co-authored-by: Usman Rajab <usman.rajab@gmail.com>
Co-authored-by: Francis The Basilisk <36006338+snorkysnark@users.noreply.github.com>
Co-authored-by: Lej77 <31554212+Lej77@users.noreply.github.com>
Co-authored-by: Tomáš Diblík <dibla.tomas@post.cz>
Co-authored-by: Jonas Kruckenberg <iterpre@protonmail.com>
Co-authored-by: Pascal Sommer <Pascal-So@users.noreply.github.com>
Co-authored-by: Bo <bertonzh@gmail.com>
Co-authored-by: Kevin Yue <k3vinyue@gmail.com>
fixed grammar and typos (#6937)
Fix api.js docs pipeline with updated typedoc dependencies (#6945)
closes #6887 (#6922)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865 (#6921)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865
fix broken symlinks in license files (#6336)
fix(cli): fix cli connection timeout to dev server (fix #6045) (#6046)
fix(bundler): ensure that there are no duplicate extension arguments when bundling on Windows, fixes #6103 (#6917)
fix(bundler): ensure that there are no duplicate extension arguments during bundling on Windows (fix #6103)
closes #5491 (#6408)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928 (#6935)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928
fix(updater): emit `UPTODATE` when server responds with 204, closes #6934 (#6970)
fix(core): unpin all dependencies, closes #6944 (#6966)
fix(bundler): Add new lang_file option in persian variant. (#6972)
fix(core/ipc): access url through webview native object, closes #6889 (#6976)
fix(core): remove trailing slash in http scope url, closes #5208 (#6974)
fix(core): remove trailing slash in http scope url, closes #5208
fix(cli): find correct binary when `--profile` is used, closes #6954 (#6979)
fix(cli): find correct binary when `--profile` is used, closes #6954
closes #6955 (#6987)
closes #6955
closes #6158 (#6969)
closes #6158
fix(cli): improve vs build tools detection (#6982)
fix: updated appimage script to follow symlinks for /usr/lib* (fix: #6992) (#6996)
fix(cli): correctly remove Cargo features (#7013)
Fix typo (#7012)
fix(cli): revert metadata.json field rename from #6795 (#7029)
closes #6732 (#6736)
fix: add missing file properties on Windows, closes #6676 (#6693)
fix(cli.js): detect node-20 binary (#6667)
fix version-or-publish workflow (#7031)
fix(cli/devserver): inject autoreload into HTML only, closes #6997 (#7032)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036 (#7040)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036
fix(core): rewrite `asset` protocol streaming, closes #6375 (#6390)
closes #5939 (#5960)
fix(core): use `safe_block_on` (#7047)
closes #6859 (#6933)
closes #6955 (#6998)
fix(core): populate webview_attrs from config, closes #6794 (#6797)
closes #5176 (#5180)
fix: sound for notifications on windows (fix #6652) (#6680)
close native window's buttons, closes #2353 (#6665)
fix(bundler/nsis): calculate accurate app size, closes #7056 (#7057)
fix(tests): only download update when it is available (#7061)
closes #6706 (#6712)
fix(doc): correct the doc of `content_protected()` (#7065)
closes #6472 (#6530)
fix(macros): use full path to Result to avoid issues with type aliases (#7071)
2023-05-30 03:29:24 +03:00
[![test core ](https://img.shields.io/github/actions/workflow/status/tauri-apps/tauri/test-core.yml?label=test%20core&logo=github )](https://github.com/tauri-apps/tauri/actions/workflows/test-core.yml)
2021-04-23 23:34:10 +03:00
[![FOSSA Status ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri.svg?type=shield )](https://app.fossa.com/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri?ref=badge_shield)
2022-07-25 18:03:18 +03:00
[![Chat Server ](https://img.shields.io/badge/chat-discord-7289da.svg )](https://discord.gg/SpmNs4S)
[![website ](https://img.shields.io/badge/website-tauri.app-purple.svg )](https://tauri.app)
2019-07-13 22:55:25 +03:00
[![https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg ](https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg )](https://good-labs.github.io/greater-good-affirmation)
2022-07-25 18:03:18 +03:00
[![support ](https://img.shields.io/badge/sponsor-Open%20Collective-blue.svg )](https://opencollective.com/tauri)
2020-05-22 18:40:32 +03:00
## Current Releases
2022-06-23 21:31:11 +03:00
### Core
| Component | Description | Version | Lin | Win | Mac |
| -------------------------------------------------------------------------------------------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------- | --- | --- | --- |
| [**tauri** ](https://github.com/tauri-apps/tauri/tree/dev/core/tauri ) | runtime core | [![ ](https://img.shields.io/crates/v/tauri.svg )](https://crates.io/crates/tauri) | ✅ | ✅ | ✅ |
| [**tauri-build** ](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-build ) | applies macros at build-time | [![ ](https://img.shields.io/crates/v/tauri-build.svg )](https://crates.io/crates/tauri-build) | ✅ | ✅ | ✅ |
| [**tauri-codegen** ](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-codegen ) | handles assets, parses tauri.conf.json | [![ ](https://img.shields.io/crates/v/tauri-codegen.svg )](https://crates.io/crates/tauri-codegen) | ✅ | ✅ | ✅ |
| [**tauri-macros** ](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-macros ) | creates macros using tauri-codegen | [![ ](https://img.shields.io/crates/v/tauri-macros.svg )](https://crates.io/crates/tauri-macros) | ✅ | ✅ | ✅ |
| [**tauri-runtime** ](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-runtime ) | layer between Tauri and webview libraries | [![ ](https://img.shields.io/crates/v/tauri-runtime.svg )](https://crates.io/crates/tauri-runtime) | ✅ | ✅ | ✅ |
| [**tauri-runtime-wry** ](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-runtime-wry ) | enables system-level interaction via WRY | [![ ](https://img.shields.io/crates/v/tauri-runtime-wry.svg )](https://crates.io/crates/tauri-runtime-wry) | ✅ | ✅ | ✅ |
| [**tauri-utils** ](https://github.com/tauri-apps/tauri/tree/dev/core/tauri-utils ) | common code used across the tauri crates | [![ ](https://img.shields.io/crates/v/tauri-utils.svg )](https://crates.io/crates/tauri-utils) | ✅ | ✅ | ✅ |
### Tooling
Merge remote-tracking branch 'origin/dev' into next (#7067)
Co-authored-by: wusyong <wusyong@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Simon Hyll <hyllsimon@gmail.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: chip <chip@chip.sh>
Co-authored-by: Raphii <iam@raphii.co>
Co-authored-by: Ronie Martinez <ronmarti18@gmail.com>
Co-authored-by: hanaTsuk1 <101488209+hanaTsuk1@users.noreply.github.com>
Co-authored-by: nathan-fall <39990940+nathan-fall@users.noreply.github.com>
Co-authored-by: Akshay <nerdy@peppe.rs>
Co-authored-by: KurikoMoe <kurikomoe@gmail.com>
Co-authored-by: Guilherme Oenning <me@goenning.net>
Co-authored-by: Pierre Cashon <biaocy91@gmail.com>
Co-authored-by: Jack Wills <32690432+mrjackwills@users.noreply.github.com>
Co-authored-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Co-authored-by: Risto Stevcev <me@risto.codes>
Co-authored-by: Soumt <rltks1305@naver.com>
Co-authored-by: yutotnh <57719497+yutotnh@users.noreply.github.com>
Co-authored-by: Gökçe Merdun <agmmnn@gmail.com>
Co-authored-by: Nathanael Rea <Nathan@NathanaelRea.com>
Co-authored-by: Usman Rajab <usman.rajab@gmail.com>
Co-authored-by: Francis The Basilisk <36006338+snorkysnark@users.noreply.github.com>
Co-authored-by: Lej77 <31554212+Lej77@users.noreply.github.com>
Co-authored-by: Tomáš Diblík <dibla.tomas@post.cz>
Co-authored-by: Jonas Kruckenberg <iterpre@protonmail.com>
Co-authored-by: Pascal Sommer <Pascal-So@users.noreply.github.com>
Co-authored-by: Bo <bertonzh@gmail.com>
Co-authored-by: Kevin Yue <k3vinyue@gmail.com>
fixed grammar and typos (#6937)
Fix api.js docs pipeline with updated typedoc dependencies (#6945)
closes #6887 (#6922)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865 (#6921)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865
fix broken symlinks in license files (#6336)
fix(cli): fix cli connection timeout to dev server (fix #6045) (#6046)
fix(bundler): ensure that there are no duplicate extension arguments when bundling on Windows, fixes #6103 (#6917)
fix(bundler): ensure that there are no duplicate extension arguments during bundling on Windows (fix #6103)
closes #5491 (#6408)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928 (#6935)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928
fix(updater): emit `UPTODATE` when server responds with 204, closes #6934 (#6970)
fix(core): unpin all dependencies, closes #6944 (#6966)
fix(bundler): Add new lang_file option in persian variant. (#6972)
fix(core/ipc): access url through webview native object, closes #6889 (#6976)
fix(core): remove trailing slash in http scope url, closes #5208 (#6974)
fix(core): remove trailing slash in http scope url, closes #5208
fix(cli): find correct binary when `--profile` is used, closes #6954 (#6979)
fix(cli): find correct binary when `--profile` is used, closes #6954
closes #6955 (#6987)
closes #6955
closes #6158 (#6969)
closes #6158
fix(cli): improve vs build tools detection (#6982)
fix: updated appimage script to follow symlinks for /usr/lib* (fix: #6992) (#6996)
fix(cli): correctly remove Cargo features (#7013)
Fix typo (#7012)
fix(cli): revert metadata.json field rename from #6795 (#7029)
closes #6732 (#6736)
fix: add missing file properties on Windows, closes #6676 (#6693)
fix(cli.js): detect node-20 binary (#6667)
fix version-or-publish workflow (#7031)
fix(cli/devserver): inject autoreload into HTML only, closes #6997 (#7032)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036 (#7040)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036
fix(core): rewrite `asset` protocol streaming, closes #6375 (#6390)
closes #5939 (#5960)
fix(core): use `safe_block_on` (#7047)
closes #6859 (#6933)
closes #6955 (#6998)
fix(core): populate webview_attrs from config, closes #6794 (#6797)
closes #5176 (#5180)
fix: sound for notifications on windows (fix #6652) (#6680)
close native window's buttons, closes #2353 (#6665)
fix(bundler/nsis): calculate accurate app size, closes #7056 (#7057)
fix(tests): only download update when it is available (#7061)
closes #6706 (#6712)
fix(doc): correct the doc of `content_protected()` (#7065)
closes #6472 (#6530)
fix(macros): use full path to Result to avoid issues with type aliases (#7071)
2023-05-30 03:29:24 +03:00
| Component | Description | Version | Lin | Win | Mac |
| ------------------------------------------------------------------------------------ | ---------------------------------------- | ------------------------------------------------------------------------------------------------------ | --- | --- | --- |
| [**bundler** ](https://github.com/tauri-apps/tauri/tree/dev/tooling/bundler ) | manufacture the final binaries | [![ ](https://img.shields.io/crates/v/tauri-bundler.svg )](https://crates.io/crates/tauri-bundler) | ✅ | ✅ | ✅ |
| [**tauri-cli** ](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli ) | create, develop and build apps | [![ ](https://img.shields.io/crates/v/tauri-cli.svg )](https://crates.io/crates/tauri-cli) | ✅ | ✅ | ✅ |
| [**@tauri-apps/cli** ](https://github.com/tauri-apps/tauri/tree/dev/tooling/cli/node ) | Node.js CLI wrapper for `tauri-cli` | [![ ](https://img.shields.io/npm/v/@tauri-apps/cli.svg )](https://www.npmjs.com/package/@tauri-apps/cli) | ✅ | ✅ | ✅ |
| [**@tauri-apps/api** ](https://github.com/tauri-apps/tauri/tree/dev/tooling/api ) | JS API for interaction with Rust backend | [![ ](https://img.shields.io/npm/v/@tauri-apps/api.svg )](https://www.npmjs.com/package/@tauri-apps/api) | ✅ | ✅ | ✅ |
2022-06-23 21:31:11 +03:00
### Utilities and Plugins
| Component | Description | Version | Lin | Win | Mac |
| ------------------------------------------------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | --- | --- | --- |
| [**create-tauri-app** ](https://github.com/tauri-apps/create-tauri-app ) | Get started with your first Tauri app | [![ ](https://img.shields.io/npm/v/create-tauri-app.svg )](https://www.npmjs.com/package/create-tauri-app) | ✅ | ✅ | ✅ |
| [**vue-cli-plugin-tauri** ](https://github.com/tauri-apps/vue-cli-plugin-tauri/ ) | Vue CLI plugin for Tauri | [![ ](https://img.shields.io/npm/v/vue-cli-plugin-tauri.svg )](https://www.npmjs.com/package/vue-cli-plugin-tauri) | ✅ | ✅ | ✅ |
2020-05-22 18:40:32 +03:00
## Introduction
2022-06-23 21:31:11 +03:00
2022-03-18 12:26:48 +03:00
Tauri is a framework for building tiny, blazingly fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with.
2020-05-22 18:40:32 +03:00
2021-05-10 21:39:24 +03:00
The user interface in Tauri apps currently leverages [`tao` ](https://docs.rs/tao ) as a window handling library on macOS and Windows, and [`gtk` ](https://gtk-rs.org/docs/gtk/ ) on Linux via the **Tauri-team** incubated and maintained [WRY ](https://github.com/tauri-apps/wry ), which creates a unified interface to the system webview (and other goodies like Menu and Taskbar), leveraging WebKit on macOS, WebView2 on Windows and WebKitGTK on Linux.
2020-05-22 18:40:32 +03:00
2021-05-10 21:39:24 +03:00
To learn more about the details of how all of these pieces fit together, please consult this [ARCHITECTURE.md ](https://github.com/tauri-apps/tauri/blob/dev/ARCHITECTURE.md ) document.
2020-05-22 18:40:32 +03:00
## Get Started
2022-06-23 21:31:11 +03:00
2022-08-27 22:18:16 +03:00
If you are interested in making a tauri app, please visit the [documentation website ](https://tauri.app ). This README is directed towards those who are interested in contributing to the core library. But if you just want a quick overview about where `tauri` is at in its development, here's a quick burndown:
2019-07-25 02:06:55 +03:00
2021-12-23 16:09:30 +03:00
### Platforms
2022-06-23 21:31:11 +03:00
Tauri currently supports development and distribution on the following platforms:
| Platform | Versions |
| :----------------------- | :-------------- |
| Windows | 7 and above |
| macOS | 10.15 and above |
| Linux | See below |
| iOS/iPadOS (coming soon) | |
| Android (coming soon) | |
**Linux Support**
For **developing** Tauri apps refer to the [Getting Started guide on tauri.app ](https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-linux ).
For **running** Tauri apps we support the below configurations (these are automatically added as dependencies for .deb and are bundled for AppImage so that your users don't need to manually install them):
- Debian (Ubuntu 18.04 and above or equivalent) with the following packages installed:
2023-01-29 21:08:27 +03:00
- `libwebkit2gtk-4.1-0` , `libgtk-3-0` , `libayatana-appindicator3-1` < sup > 1</ sup >
2022-06-23 21:31:11 +03:00
- Arch with the following packages installed:
- `webkit2gtk` , `gtk3` , `libayatana-appindicator` < sup > 1</ sup >
- Fedora (latest 2 versions) with the following packages installed:
- `webkit2gtk3` , `gtk3` , `libappindicator-gtk3` < sup > 1</ sup >
Merge remote-tracking branch 'origin/dev' into next (#7067)
Co-authored-by: wusyong <wusyong@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Simon Hyll <hyllsimon@gmail.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: chip <chip@chip.sh>
Co-authored-by: Raphii <iam@raphii.co>
Co-authored-by: Ronie Martinez <ronmarti18@gmail.com>
Co-authored-by: hanaTsuk1 <101488209+hanaTsuk1@users.noreply.github.com>
Co-authored-by: nathan-fall <39990940+nathan-fall@users.noreply.github.com>
Co-authored-by: Akshay <nerdy@peppe.rs>
Co-authored-by: KurikoMoe <kurikomoe@gmail.com>
Co-authored-by: Guilherme Oenning <me@goenning.net>
Co-authored-by: Pierre Cashon <biaocy91@gmail.com>
Co-authored-by: Jack Wills <32690432+mrjackwills@users.noreply.github.com>
Co-authored-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Co-authored-by: Risto Stevcev <me@risto.codes>
Co-authored-by: Soumt <rltks1305@naver.com>
Co-authored-by: yutotnh <57719497+yutotnh@users.noreply.github.com>
Co-authored-by: Gökçe Merdun <agmmnn@gmail.com>
Co-authored-by: Nathanael Rea <Nathan@NathanaelRea.com>
Co-authored-by: Usman Rajab <usman.rajab@gmail.com>
Co-authored-by: Francis The Basilisk <36006338+snorkysnark@users.noreply.github.com>
Co-authored-by: Lej77 <31554212+Lej77@users.noreply.github.com>
Co-authored-by: Tomáš Diblík <dibla.tomas@post.cz>
Co-authored-by: Jonas Kruckenberg <iterpre@protonmail.com>
Co-authored-by: Pascal Sommer <Pascal-So@users.noreply.github.com>
Co-authored-by: Bo <bertonzh@gmail.com>
Co-authored-by: Kevin Yue <k3vinyue@gmail.com>
fixed grammar and typos (#6937)
Fix api.js docs pipeline with updated typedoc dependencies (#6945)
closes #6887 (#6922)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865 (#6921)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865
fix broken symlinks in license files (#6336)
fix(cli): fix cli connection timeout to dev server (fix #6045) (#6046)
fix(bundler): ensure that there are no duplicate extension arguments when bundling on Windows, fixes #6103 (#6917)
fix(bundler): ensure that there are no duplicate extension arguments during bundling on Windows (fix #6103)
closes #5491 (#6408)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928 (#6935)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928
fix(updater): emit `UPTODATE` when server responds with 204, closes #6934 (#6970)
fix(core): unpin all dependencies, closes #6944 (#6966)
fix(bundler): Add new lang_file option in persian variant. (#6972)
fix(core/ipc): access url through webview native object, closes #6889 (#6976)
fix(core): remove trailing slash in http scope url, closes #5208 (#6974)
fix(core): remove trailing slash in http scope url, closes #5208
fix(cli): find correct binary when `--profile` is used, closes #6954 (#6979)
fix(cli): find correct binary when `--profile` is used, closes #6954
closes #6955 (#6987)
closes #6955
closes #6158 (#6969)
closes #6158
fix(cli): improve vs build tools detection (#6982)
fix: updated appimage script to follow symlinks for /usr/lib* (fix: #6992) (#6996)
fix(cli): correctly remove Cargo features (#7013)
Fix typo (#7012)
fix(cli): revert metadata.json field rename from #6795 (#7029)
closes #6732 (#6736)
fix: add missing file properties on Windows, closes #6676 (#6693)
fix(cli.js): detect node-20 binary (#6667)
fix version-or-publish workflow (#7031)
fix(cli/devserver): inject autoreload into HTML only, closes #6997 (#7032)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036 (#7040)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036
fix(core): rewrite `asset` protocol streaming, closes #6375 (#6390)
closes #5939 (#5960)
fix(core): use `safe_block_on` (#7047)
closes #6859 (#6933)
closes #6955 (#6998)
fix(core): populate webview_attrs from config, closes #6794 (#6797)
closes #5176 (#5180)
fix: sound for notifications on windows (fix #6652) (#6680)
close native window's buttons, closes #2353 (#6665)
fix(bundler/nsis): calculate accurate app size, closes #7056 (#7057)
fix(tests): only download update when it is available (#7061)
closes #6706 (#6712)
fix(doc): correct the doc of `content_protected()` (#7065)
closes #6472 (#6530)
fix(macros): use full path to Result to avoid issues with type aliases (#7071)
2023-05-30 03:29:24 +03:00
- Void with the following packages installed:
- `webkit2gtk` , `gtk+3` , `libappindicator` < sup > 1</ sup >
2022-06-23 21:31:11 +03:00
< sup > 1</ sup > `appindicator` is only required if system trays are used
2021-04-25 19:15:05 +03:00
2022-09-30 19:06:24 +03:00
### Features
- [x] Desktop Bundler (.app, .dmg, .deb, AppImage, .msi)
2021-04-25 19:15:05 +03:00
- [x] Self Updater
- [x] App Signing
2022-09-30 19:06:24 +03:00
- [x] Native Notifications (toast)
- [x] App Tray
- [x] Core Plugin System
- [x] Scoped Filesystem
- [x] Sidecar
2019-07-31 11:41:46 +03:00
### Security Features
2022-06-23 21:31:11 +03:00
2021-04-25 19:15:05 +03:00
- [x] localhost-free (:fire:)
- [x] custom protocol for secure mode
2019-07-31 11:41:46 +03:00
- [x] Dynamic ahead of Time Compilation (dAoT) with functional tree-shaking
- [x] functional Address Space Layout Randomization
2019-12-02 00:57:10 +03:00
- [x] OTP salting of function names and messages at runtime
2019-08-01 11:34:20 +03:00
- [x] CSP Injection
2019-07-13 23:53:44 +03:00
2020-07-12 21:52:31 +03:00
### Utilities
2022-06-23 21:31:11 +03:00
2022-09-30 19:06:24 +03:00
- [x] Rust-based CLI
2020-07-12 21:52:31 +03:00
- [x] GH Action for creating binaries for all platforms
- [x] VS Code Extension
2020-05-22 18:40:32 +03:00
## Development
Tauri is a system composed of a number of moving pieces:
### Infrastructure
2022-06-23 21:31:11 +03:00
2021-12-23 16:09:30 +03:00
- Git for code management
- GitHub for project management
- GitHub actions for CI and CD
- Discord for discussions
- Netlify-hosted documentation website
2022-06-19 16:23:35 +03:00
- DigitalOcean Meilisearch instance
2020-05-22 18:40:32 +03:00
### Operating systems
2022-06-23 21:31:11 +03:00
2020-05-22 18:40:32 +03:00
Tauri core can be developed on Mac, Linux and Windows, but you are encouraged to use the latest possible operating systems and build tools for your OS.
2021-12-23 16:09:30 +03:00
### Contributing
2022-06-23 21:31:11 +03:00
2022-05-11 02:05:01 +03:00
Before you start working on something, it's best to check if there is an existing issue first. It's also a good idea to stop by the Discord server and confirm with the team if it makes sense or if someone else is already working on it.
2021-12-23 16:09:30 +03:00
Please make sure to read the [Contributing Guide ](./.github/CONTRIBUTING.md ) before making a pull request.
Thank you to everyone contributing to Tauri!
2020-05-22 18:40:32 +03:00
### Documentation
2022-06-23 21:31:11 +03:00
2020-05-22 18:40:32 +03:00
Documentation in a polyglot system is a tricky proposition. To this end, we prefer to use inline documentation of Rust code and at JSDoc in typescript / javascript code. We autocollect these and publish them using Docusaurus v2 and netlify. Here is the hosting repository for the documentation site: https://github.com/tauri-apps/tauri-docs
### Testing & Linting
2022-06-23 21:31:11 +03:00
2020-05-22 18:40:32 +03:00
Test all the things! We have a number of test suites, but are always looking to improve our coverage:
2022-06-23 21:31:11 +03:00
2020-05-22 18:40:32 +03:00
- Rust (`cargo test`) => sourced via inline `#[cfg(test)]` declarations
2022-09-30 19:06:24 +03:00
- Typescript (`jest`) => via spec files
2020-07-06 02:00:49 +03:00
- Smoke Tests (run on merges to latest)
2020-05-22 18:40:32 +03:00
- eslint, clippy
### CI/CD
2022-06-23 21:31:11 +03:00
2020-05-22 18:40:32 +03:00
We recommend you read this article to understand better how we run our pipelines: https://www.jacobbolda.com/setting-up-ci-and-cd-for-tauri/
2019-07-14 12:14:14 +03:00
2019-08-28 14:28:49 +03:00
## Organization
2022-06-23 21:31:11 +03:00
2021-04-25 19:15:05 +03:00
Tauri aims to be a sustainable collective based on principles that guide [sustainable free and open software communities ](https://sfosc.org ). To this end it has become a Programme within the [Commons Conservancy ](https://commonsconservancy.org/ ), and you can contribute financially via [Open Collective ](https://opencollective.com/tauri ).
2019-07-14 17:29:41 +03:00
2019-07-13 22:55:25 +03:00
## Semver
2022-06-23 21:31:11 +03:00
2019-08-28 14:28:49 +03:00
**tauri** is following [Semantic Versioning 2.0 ](https://semver.org/ ).
2019-07-13 22:55:25 +03:00
2019-07-13 20:14:13 +03:00
## Licenses
2022-06-23 21:31:11 +03:00
2021-04-25 19:15:05 +03:00
Code: (c) 2015 - 2021 - The Tauri Programme within The Commons Conservancy.
2019-07-25 02:06:55 +03:00
2020-05-22 18:40:32 +03:00
MIT or MIT/Apache 2.0 where applicable.
2019-07-13 20:14:13 +03:00
Logo: CC-BY-NC-ND
2021-04-23 23:34:10 +03:00
2022-06-23 21:31:11 +03:00
- Original Tauri Logo Designs by [Alve Larsson ](https://alve.io/ ), [Daniel Thompson-Yvetot ](https://github.com/nothingismagick ) and [Guillaume Chau ](https://github.com/akryum )
2021-04-23 23:34:10 +03:00
2021-04-25 19:15:05 +03:00
[![FOSSA Status ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri.svg?type=large )](https://app.fossa.com/projects/git%2Bgithub.com%2Ftauri-apps%2Ftauri?ref=badge_large)