* 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>
* 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
* 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>
* 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
* fix: Premultiply alpha before resizing
* feat: Use rayon for process speedup
* Fix change tag
* `cargo fmt`
* Document reasoning & use imageops::resize directly
---------
Co-authored-by: Tony <legendmastertony@gmail.com>
* add info to error message
* changes file and linux only warning
Signed-off-by: Krzysztof Andrelczyk <cristof@curiana.net>
* Update change file
---------
Signed-off-by: Krzysztof Andrelczyk <cristof@curiana.net>
Co-authored-by: Tony <legendmastertony@gmail.com>
* add new api (auto_increment_version_code) in android configuration
* ensure increment is only ran once
* skip on dev
* update doc
* change file
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* fix(core): SHA256 hash for JS scripts CSP on Windows
we hash JS scripts as SHA256 for the Content-Security-Policy (CSP) header. The isolation pattern is broken on Windows due to the hash including carriage return characters, which are not processed when the webview checks the script hash to see if the CSP allows the script.
* fmt, clippy