Commit Graph

5821 Commits

Author SHA1 Message Date
Bruno Verachten
1dbf6fd067 feat(cli): add RISC-V 64-bit pre-built binary support (#14685)
* feat(cli): add RISC-V 64-bit pre-built binary support

Add riscv64gc-unknown-linux-gnu target to the tauri-cli release workflow,
enabling pre-built binaries for RISC-V 64-bit Linux systems.

This eliminates the multi-hour QEMU compilation time that currently blocks
RISC-V adoption of Tauri apps. Native compilation on RISC-V hardware
takes ~63 minutes.

Changes:
- Add RISC-V entry to build matrix with self-hosted runner support
- Support custom `runs_on` field for matrix entries (falls back to `os`)
- Skip dtolnay/rust-toolchain and rust-cache for self-hosted runners
- Source ~/.cargo/env for self-hosted runners where Rust is pre-installed

Tested on:
- Hardware: Banana Pi F3 (RISC-V64, 16GB RAM)
- OS: Debian Trixie (required for WebKit2GTK RISC-V support)
- Build time: 1h 2m 28s
- Binary: ELF 64-bit RISC-V, 16MB stripped

* feat(cli): use cross for RISC-V cross-compilation

Switch from self-hosted runners to cross-rs for building RISC-V binaries.
This approach is simpler and doesn't require maintaining self-hosted infrastructure.

Local testing confirms cross builds a valid RISC-V binary in ~4 minutes.

* refactor(cli): address review feedback for RISC-V workflow

- Skip Rust toolchain and cache setup for cross builds (unnecessary)
- Pin cross version to 0.2.5 for reproducibility
- Fix Linux dependencies condition to match ubuntu-* variants
2025-12-29 10:21:49 -03:00
Tony
8a43e4f9d9 refactor: use u64 instead of usize for nonce gen (#14708) 2025-12-29 08:43:09 -03:00
sftse
a2abe2e6bc refactor(cli): simplify features: Option<Vec<String>> to Vec<String> (#14607)
* refactor: use empty vector for features instead of None

* refactor: reorder

* add change file

* comment: highlight places where serialization is used

* refactor: simplify serialization

* Update .changes/empty-vec-instead-of-none.md

* Update crates/tauri-cli/src/mobile/ios/mod.rs

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
2025-12-29 13:54:51 +08:00
Tony
51f0fcb69c docs: pixel units (#14702) 2025-12-28 10:40:03 +08:00
Tony
0650852d14 docs: things related to WebviewUrl (#14692)
* Typos

* Rename to `handler`/`protocol_handler`

* Fix the `AssetResolver::get` fallback docs

* Refactor and update the docs for `get_url`

* Rename the remaining ones to `get_app_url`

* Apply suggestions from code review

Co-authored-by: Fabian-Lars <github@fabianlars.de>

* Generate schema
2025-12-25 20:05:02 +08:00
Kushal Meghani
c1d82eb3a3 fix(linux): reuse WebContext to prevent WebKitNetworkProcess leak (#14628)
Co-authored-by: Fabian-Lars <github@fabianlars.de>
2025-12-25 13:03:15 +01:00
renovate[bot]
51a0d6d66d chore(deps): update dependency rollup to v4.54.0 (#14688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-23 22:49:57 +08:00
renovate[bot]
7f48ee9068 chore(deps): update rust crate toml_edit to 0.24 (#14683)
* chore(deps): update rust crate toml_edit to 0.24

* Downgrade indexmap to 2.11.4 for MSRV

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Tony <legendmastertony@gmail.com>
2025-12-21 22:04:33 +08:00
renovate[bot]
e290642fb4 chore(deps): update dependency rollup to v4.53.5 (#14676)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-19 17:15:17 +08:00
renovate[bot]
b79386010d chore(deps): update dependency rollup to v4.53.4 (#14670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-18 22:49:52 +08:00
Tony
ff5d76ca21 fix: default WindowConfig::focus to false in Default::default (#14653) 2025-12-14 16:21:44 +08:00
sftse
2d28e3143e Cleanups (#14632)
* refactor(tauri-utils): current_dest and current_pattern always change in-sync, group them to one Option

* refactor(tauri-utils): pass path as explicit argument instead of implicitly through self

* refactor(tauri-utils): remove struct field that is never set to Some

* refactor(tauri-cli): use OsString, OsStr where possible

* refactor(tauri-cli): Deref Arc early

* refactor(tauri-cli): lock config before passing to build::setup()

* refactor(tauri-build, tauri-utils): bettern pattern matching and borrowing

* refactor(tauri-cli): dont need Arc if already have static

* fix(tauri-cli): race condition initializing static flag, remove unnecessary OnceLock

* refactor(tauri-cli): use expect

* refactor(tauri-cli): remove unnecessary OnceLock

* refactor(tauri-cli): better use of dunce api

* refactor(tauri-cli): rename
2025-12-09 21:38:14 +08:00
renovate[bot]
18c69df8c7 chore(deps): update worker-rs crates to 0.7 (#14638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <github@fabianlars.de>
2025-12-09 13:42:27 +01:00
github-actions[bot]
f2e0405dc2 apply version updates (#14592)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
tauri-macos-sign-v2.3.2 tauri-runtime-wry-v2.9.3 tauri-v2.9.5 tauri-bundler-v2.7.5 @tauri-apps/cli-v2.9.6 tauri-cli-v2.9.6
2025-12-09 12:41:05 +01:00
FabianLars
54e8d93db1 ci(renovate): group worker-rs updates 2025-12-09 12:11:53 +01:00
Tony
251203b896 fix(linux): work area returns logical rect (#14637) 2025-12-09 18:05:12 +08:00
Tony
91becd9e4f fix(nsis): plugins not signed (#14627) 2025-12-08 20:13:52 +08:00
Tony
018b4db22e fix(bundler): skip signing for nsis uninstaller on --no-sign (#14625) 2025-12-08 20:13:43 +08:00
Tony
731dd5bfdc docs: remove $APP and $LOG from FsScope (#14623) 2025-12-07 23:09:11 +08:00
Tony
7b1b3514df changes(cli): log npm package version parse in debug level (#14621) 2025-12-07 21:06:27 +08:00
sftse
546b296405 fix(tauri-bundler): add a bit more context to error message (#14606) 2025-12-05 11:56:34 +08:00
Tunglies
514cf21e14 chore(deps): update num-bigint-dig to version 0.8.6 (#14591)
* chore(deps): update num-bigint-dig to version 0.8.6

* Update .changes/bump-version-num-bigint-dig.md

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
2025-12-02 10:20:35 +08:00
renovate[bot]
60174527c0 chore(deps): update rust crate ico to 0.5 (#14589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-02 10:19:09 +08:00
chfaft
4176f93ae4 feat(bundler): consider extensions defined in main.wxs. (#14570)
* feat(bundler): consider extensions defined in main.wxs.

* chore(bundler): apply nitpick and add a change file.

* Update crates/tauri-bundler/src/bundle/windows/msi/mod.rs

chore(bundler): avoid clone and use reference.

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

* Update .changes/support-template-extensions.md

chore(bundler): reclassify changes.

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>

---------

Co-authored-by: Tony <68118705+Legend-Master@users.noreply.github.com>
2025-12-02 09:58:35 +08:00
github-actions[bot]
4408f72af6 apply version updates (#14467)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
tauri-macos-sign-v2.3.1 tauri-runtime-v2.9.2 tauri-runtime-wry-v2.9.2 tauri-plugin-v2.5.2 tauri-utils-v2.8.1 tauri-codegen-v2.5.2 tauri-bundler-v2.7.4 tauri-v2.9.4 tauri-build-v2.5.3 tauri-macros-v2.5.2 tauri-cli-v2.9.5 @tauri-apps/api-v2.9.1 @tauri-apps/cli-v2.9.5
2025-11-30 11:22:38 +01:00
Fabian-Lars
1496145f82 fix(bundler): typo in 32bit arch (#14585)
* fix(bundler): typo in 32bit arch

* changefile
2025-11-30 07:49:33 +01:00
hrzlgnm
f022b2d1ae fix(cli): Skip signing bundles entirely if --no-sign is requested (#14582)
Closes #14581
2025-11-30 11:45:43 +08:00
Fabian-Lars
1573c72402 fix: remove \\r from schema files on windows (#14561) 2025-11-26 11:22:45 +01:00
renovate[bot]
dd7e59a495 chore(deps): update dependency rollup to v4.53.3 (#14519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 13:25:01 +08:00
Fabian-Lars
2d2a1be429 docs(cli): fix formatting of paths 2025-11-20 15:02:46 +01:00
Fabian-Lars
afdd288eab chore(deps): update js-yaml (#14498) 2025-11-19 11:53:13 +01:00
Fabian-Lars
79a7d9ec01 fix(cli): change Cargo.toml version check to debug log (#14468) 2025-11-18 16:08:17 +01:00
Tony
f855caf8a3 fix(cli): mismatched versions check for pnpm (#14481) 2025-11-18 18:16:29 +08:00
Tunglies
ee3cc4a91b perf: remove needless clones in various files for improved performance (#14475)
Co-authored-by: Fabian-Lars <github@fabianlars.de>
2025-11-17 15:27:49 +01:00
Tony
b5ef603d84 chore(deps): update NSIS to 3.11 (#14478) 2025-11-16 21:56:05 +08:00
Tunglies
ce98d87ce0 refactor: remove needless collect (#14474)
Co-authored-by: Fabian-Lars <github@fabianlars.de>
2025-11-16 12:49:20 +01:00
Aleksey Ponomarev
ad1dec2e24 fix(core): properly handle async errors in addPluginListener (#14464)
* fix(core): properly handle async errors in addPluginListener

The previous implementation used .then() after invoke() without await, which prevented the catch block from handling rejected promises. Now using await to properly catch errors and allow fallback to camelCase registerListener method.

* Change file and generate `bundle.global.js`

---------

Co-authored-by: Tony <legendmastertony@gmail.com>
2025-11-15 12:07:51 +08:00
renovate[bot]
beffcd880f chore(deps): update dependency rollup to v4.53.2 (#14459)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-15 10:23:57 +08:00
github-actions[bot]
956031d73d apply version updates (#14458)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
tauri-v2.9.3 tauri-build-v2.5.2 tauri-codegen-v2.5.1 tauri-macros-v2.5.1
2025-11-13 09:14:14 -03:00
Lucas Fernandes Nogueira
4b00130b86 refactor(core): improve iOS log messages from stdout/stderr (#14385)
* refactor(core): improve iOS log messages from stdout/stderr

move the stdout/stderr forward logic to Swift so it does not consume a Rust thread and never deadlocks on the simulator

I had to work on this because i'm facing #12172 again on latest Xcode (26.1)

* patch
2025-11-13 08:18:50 -03:00
Tony
8e3bd63db9 perf(codegen): wrap generated context in a fn (#14457)
* perf(codegen): wrap generated context in a fn

* Add comment about the reasoning
2025-11-13 15:24:10 +08:00
renovate[bot]
cfe47871a5 chore(deps): update dependency rollup to v4.53.1 (#14444)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-12 22:05:17 +08:00
Fabian-Lars
236f55b7aa docs: enable dynamic-acl feature on docs.rs (#14452) 2025-11-12 10:21:18 +01:00
github-actions[bot]
9bb7e79e97 apply version updates (#14425)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
tauri-cli-v2.9.4 @tauri-apps/cli-v2.9.4
2025-11-09 12:48:27 +01:00
FabianLars
d566679a99 ci: don't re-generate lockfile on prepublish 2025-11-09 12:08:57 +01:00
Kushal Meghani
3899d456d4 Address review comments (#14426)
* Address review comments

* Revert comments in `impl FromStr for ConfigValue`
2025-11-07 09:38:05 +08:00
Tony
b586ecf1f4 fix(cli): demultiply tiny skia pixels (#14416)
* fix(cli): demultiply tiny skia pixels

* Pull resize out to a function `resize_image`

* Move comments as well

* Use cow for older rust versions
2025-11-06 10:12:10 +08:00
Fabian-Lars
dd70d213cd chore(deps): update minisign to 0.8 (#14415) 2025-11-05 14:58:54 +01:00
Kushal Meghani
d06a1994e9 refactor: improve cli code readability (#14333) 2025-11-05 13:48:32 +01:00
github-actions[bot]
b446a858de apply version updates (#14409)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@tauri-apps/cli-v2.9.3 tauri-cli-v2.9.3 tauri-bundler-v2.7.3
2025-11-04 17:00:19 +01:00