diff --git a/.changes/add-plugin-listener-error-handling.md b/.changes/add-plugin-listener-error-handling.md deleted file mode 100644 index 38474f02a21b..000000000000 --- a/.changes/add-plugin-listener-error-handling.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@tauri-apps/api": patch:bug ---- - -Fix `addPluginListener` fallback added in https://github.com/tauri-apps/tauri/pull/14132 didn't work properly diff --git a/.changes/appimage-32bit.md b/.changes/appimage-32bit.md deleted file mode 100644 index 9c4437f29e67..000000000000 --- a/.changes/appimage-32bit.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri-bundler: patch:bug ---- - -Fixed an issue that caused the AppImage bundler to fail with 404 errors for 32-bit builds. diff --git a/.changes/fix-needles-collect.md b/.changes/fix-needles-collect.md deleted file mode 100644 index f7ffa30f93c5..000000000000 --- a/.changes/fix-needles-collect.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"tauri": patch:perf -"tauri-cli": patch:perf -"tauri-bundler": patch:perf -"@tauri-apps/cli": patch:perf ---- - -refactor: remove needless collect. No user facing changes. diff --git a/.changes/fix-no-sign-option.md b/.changes/fix-no-sign-option.md deleted file mode 100644 index 71352c5ee8f3..000000000000 --- a/.changes/fix-no-sign-option.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -tauri-cli: patch:bug ---- - -Fixed an issue that caused the cli to error out with missing private key, in case the option `--no-sign` was requested and the `tauri.config` has signing key set and the plugin `tauri-plugin-updater` is used. - diff --git a/.changes/nsis-3.11.md b/.changes/nsis-3.11.md deleted file mode 100644 index 5d56bae0f15c..000000000000 --- a/.changes/nsis-3.11.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"tauri-bundler": patch:deps ---- - -Updated NSIS from 3.8 to 3.11 diff --git a/.changes/perf-remove-needless-clone.md b/.changes/perf-remove-needless-clone.md deleted file mode 100644 index 3e23288c4b28..000000000000 --- a/.changes/perf-remove-needless-clone.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"tauri-bundler": patch:perf -"tauri-cli": patch:perf -"tauri-macos-sign": patch:perf -"tauri": patch:perf ---- - -perf: remove needless clones in various files for improved performance. No user facing changes. diff --git a/.changes/pnpm-package-version-check.md b/.changes/pnpm-package-version-check.md deleted file mode 100644 index 090e649952da..000000000000 --- a/.changes/pnpm-package-version-check.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"tauri-cli": patch:bug -"@tauri-apps/cli": patch:bug ---- - -Fixed the mismatched tauri package versions check didn't work for pnpm diff --git a/.changes/schema-carriage-return.md b/.changes/schema-carriage-return.md deleted file mode 100644 index 44bbf97d2010..000000000000 --- a/.changes/schema-carriage-return.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri-utils: patch:bug ---- - -Fixed an issue that caused schema files to have `\r` characters on Windows. diff --git a/.changes/version-req-error.md b/.changes/version-req-error.md deleted file mode 100644 index 523d6f1c89a4..000000000000 --- a/.changes/version-req-error.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -tauri-cli: patch:bug ---- - -Fixed an issue that caused the cli to print errors like `Error Failed to parse version 2 for crate tauri` when there was no `Cargo.lock` file present yet. This will still be logged in `--verbose` mode. diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000000..67f2f4d1b7a7 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,173 @@ +# Compliance Rules + +This file contains the compliance and code quality rules for this repository. + +## 1. All New Source Files Must Include Copyright and SPDX License Headers + +**Objective:** Ensure proper legal attribution and license compliance by requiring standardized copyright and SPDX license identifiers at the top of all source files. This protects the project's legal standing and makes license information machine-readable. + +**Success Criteria:** Every new Rust (.rs), TypeScript/JavaScript (.ts, .js), and workflow (.yml) file begins with a copyright header containing 'Copyright 2019-2024 Tauri Programme within The Commons Conservancy' followed by SPDX license identifiers 'SPDX-License-Identifier: Apache-2.0' and 'SPDX-License-Identifier: MIT' + +**Failure Criteria:** New source files are missing the copyright header, have incorrect copyright attribution, or lack the required SPDX license identifiers + +--- + +## 2. Rust Code Must Pass Clippy Linting with Warnings Denied + +**Objective:** Maintain high code quality and catch potential bugs, performance issues, and non-idiomatic patterns by enforcing Clippy lints as errors. This ensures all code adheres to Rust best practices and community standards. + +**Success Criteria:** All Rust code passes 'cargo clippy --all-targets --all-features -- -D warnings' without any warnings or errors + +**Failure Criteria:** Running clippy produces any warnings or errors, indicating code that violates Rust best practices or contains potential issues + +--- + +## 3. Rust Code Must Be Formatted According to Project rustfmt Configuration + +**Objective:** Ensure consistent code style across the entire Rust codebase by enforcing automated formatting rules. This improves readability, reduces merge conflicts, and eliminates style debates in code reviews. + +**Success Criteria:** All Rust code passes 'cargo fmt --all -- --check' without modifications, adhering to the project's rustfmt.toml configuration (max_width=100, tab_spaces=2, Unix newlines, etc.) + +**Failure Criteria:** Running cargo fmt identifies files that require formatting changes, indicating inconsistent code style + +--- + +## 4. TypeScript and JavaScript Code Must Be Formatted with Prettier + +**Objective:** Maintain consistent formatting in frontend and tooling code by enforcing Prettier formatting standards. This ensures uniformity across TypeScript/JavaScript files and prevents style inconsistencies. + +**Success Criteria:** All TypeScript and JavaScript files pass prettier format checks without requiring modifications + +**Failure Criteria:** Running prettier --check identifies files that need formatting, indicating code that doesn't conform to the project's style + +--- + +## 5. TOML Configuration Files Must Be Formatted with taplo + +**Objective:** Ensure consistent formatting of TOML configuration files (Cargo.toml, rustfmt.toml, etc.) by enforcing taplo formatting standards. This maintains readability and reduces noise in configuration file diffs. + +**Success Criteria:** All TOML files pass 'taplo fmt --check --diff' without requiring changes + +**Failure Criteria:** Running taplo detects formatting inconsistencies in TOML files + +--- + +## 6. All Source Files Must Follow EditorConfig Standards + +**Objective:** Enforce consistent basic formatting across all file types (charset, indentation, line endings) by adhering to the .editorconfig specification. This ensures cross-editor consistency and prevents common formatting issues. + +**Success Criteria:** All files use UTF-8 encoding, 2-space indentation, LF line endings, include a final newline, and have trailing whitespace trimmed + +**Failure Criteria:** Files contain CRLF line endings, inconsistent indentation, wrong encoding, missing final newlines, or trailing whitespace + +--- + +## 7. Public APIs Must Include Documentation Comments + +**Objective:** Ensure all public APIs are properly documented to support developers using the framework and to generate comprehensive API documentation. This improves usability and reduces the learning curve for the library. + +**Success Criteria:** All public functions, types, modules, and methods include /// documentation comments explaining their purpose, parameters, return values, and usage examples where appropriate + +**Failure Criteria:** Public API elements lack documentation comments, or documentation is incomplete/unclear + +--- + +## 8. Error Types Must Use thiserror for Structured Error Handling + +**Objective:** Maintain consistent and ergonomic error handling throughout the codebase by using the thiserror crate for custom error types. This provides clear error messages and proper error propagation. + +**Success Criteria:** All custom error enums use #[derive(thiserror::Error)] with appropriate #[error(...)] attributes providing descriptive error messages + +**Failure Criteria:** Custom error types implement Display/Error traits manually instead of using thiserror, or error messages are unclear/missing + +--- + +## 9. Public Error Enums Must Be Marked as Non-Exhaustive + +**Objective:** Preserve API flexibility and prevent breaking changes by marking public error enums as #[non_exhaustive]. This allows adding new error variants in the future without breaking downstream code. + +**Success Criteria:** Public error enums that may need future variants include the #[non_exhaustive] attribute + +**Failure Criteria:** Public error enums that should be extensible lack the #[non_exhaustive] attribute, potentially causing breaking changes when new variants are added + +--- + +## 10. Functions Returning Values Should Be Marked with must_use Where Appropriate + +**Objective:** Prevent logic errors by ensuring return values that represent important state or results are not accidentally ignored. This catches bugs where critical return values are discarded without handling. + +**Success Criteria:** Functions returning builders, handles, or results that must be used for correctness include #[must_use] attribute with explanatory messages + +**Failure Criteria:** Functions returning important values that should not be ignored lack #[must_use], allowing silent errors + +--- + +## 11. Platform-Specific Code Must Use Appropriate Conditional Compilation + +**Objective:** Ensure code compiles correctly on all target platforms by properly gating platform-specific functionality behind #[cfg(...)] attributes. This prevents compilation failures and enables cross-platform builds. + +**Success Criteria:** Platform-specific code uses #[cfg(target_os = "...")] or similar attributes to conditionally compile only on supported platforms, and includes appropriate #[cfg_attr(docsrs, doc(cfg(...)))] for documentation + +**Failure Criteria:** Platform-specific APIs are used without conditional compilation guards, causing build failures on unsupported platforms + +--- + +## 12. Tests Must Be Organized in cfg(test) Modules Named 'tests' + +**Objective:** Maintain consistent test organization and ensure tests are only compiled during testing by placing unit tests in properly configured modules. This keeps production binary sizes small and test code clearly separated. + +**Success Criteria:** Unit tests are placed in 'mod tests' blocks with #[cfg(test)] attribute at the module level + +**Failure Criteria:** Tests are not properly gated with #[cfg(test)] or use inconsistent module naming, causing tests to compile in production builds + +--- + +## 13. Changes Requiring a Version Bump Must Include a Change File + +**Objective:** Ensure proper version management and changelog generation by requiring change files for all changes that will be released. This provides clear release documentation and enables automated versioning. + +**Success Criteria:** Pull requests that modify functionality include a markdown file in the .changes directory following the covector format, specifying the appropriate version bump (major/minor/patch) and change summary + +**Failure Criteria:** PRs with user-facing changes lack a corresponding change file, preventing proper version tracking and changelog generation + +--- + +## 14. Generated Files Must Be Kept in Sync with Source Code + +**Objective:** Prevent runtime errors and inconsistencies by ensuring generated files (TypeScript API bundles, JSON schemas) are regenerated when their source code changes. This maintains integrity between source and generated artifacts. + +**Success Criteria:** When source files for generated artifacts change (packages/api/src/**, crates/tauri-utils/src/config.rs, schema files), the corresponding generated files are updated by running the appropriate build commands + +**Failure Criteria:** Generated files become stale and out of sync with their source code, causing type mismatches, missing features, or validation errors + +--- + +## 15. Unsafe Code Must Include Safety Documentation + +**Objective:** Ensure unsafe code blocks are properly justified and their safety invariants are clearly documented to prevent undefined behavior. This makes code review more effective and helps maintainers understand safety requirements. + +**Success Criteria:** All unsafe blocks and functions include comments explaining why the code is safe, what invariants must be maintained, and under what conditions the code is valid + +**Failure Criteria:** Unsafe code lacks documentation of safety invariants, making it impossible to verify correctness or maintain the code safely + +--- + +## 16. Functions Should Return Result Types for Fallible Operations + +**Objective:** Enable proper error handling and propagation by using Result return types for operations that can fail. This makes error conditions explicit in the API and allows callers to handle errors appropriately. + +**Success Criteria:** Operations that can fail (I/O, parsing, validation, etc.) return Result with appropriate error types rather than panicking or returning Option + +**Failure Criteria:** Fallible operations use panic!, unwrap(), expect(), or Option where Result would be more appropriate, hiding error conditions from callers + +--- + +## 17. Workspace Members Must Use Consistent Metadata + +**Objective:** Maintain consistent package metadata across all workspace members by inheriting common fields from workspace.package in Cargo.toml. This ensures uniform author attribution, licensing, repository links, and Rust edition. + +**Success Criteria:** Individual crate Cargo.toml files inherit workspace-level metadata (authors, license, repository, homepage, edition, rust-version) rather than duplicating them + +**Failure Criteria:** Crates duplicate metadata that should be inherited from the workspace, causing inconsistencies in licensing, authorship, or other package information + +--- diff --git a/Cargo.lock b/Cargo.lock index 85b84ee01f55..cddd7b662fe3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1319,7 +1319,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -4319,7 +4319,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -8494,7 +8494,7 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "2.9.3" +version = "2.9.4" dependencies = [ "anyhow", "bytes", @@ -8554,7 +8554,7 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.5.2" +version = "2.5.3" dependencies = [ "anyhow", "cargo_toml", @@ -8576,7 +8576,7 @@ dependencies = [ [[package]] name = "tauri-bundler" -version = "2.7.3" +version = "2.7.4" dependencies = [ "anyhow", "ar", @@ -8622,7 +8622,7 @@ dependencies = [ [[package]] name = "tauri-cli" -version = "2.9.4" +version = "2.9.5" dependencies = [ "ar", "axum", @@ -8716,7 +8716,7 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.5.1" +version = "2.5.2" dependencies = [ "base64 0.22.1", "brotli", @@ -8782,7 +8782,7 @@ dependencies = [ [[package]] name = "tauri-macos-sign" -version = "2.3.0" +version = "2.3.1" dependencies = [ "apple-codesign", "chrono", @@ -8802,7 +8802,7 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.5.1" +version = "2.5.2" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -8814,7 +8814,7 @@ dependencies = [ [[package]] name = "tauri-plugin" -version = "2.5.1" +version = "2.5.2" dependencies = [ "anyhow", "glob", @@ -8862,7 +8862,7 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "2.9.1" +version = "2.9.2" dependencies = [ "cookie", "dpi", @@ -8885,7 +8885,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "2.9.1" +version = "2.9.2" dependencies = [ "gtk", "http 1.3.1", @@ -8936,7 +8936,7 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.8.0" +version = "2.8.1" dependencies = [ "aes-gcm", "anyhow", @@ -10324,7 +10324,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] diff --git a/crates/tauri-build/CHANGELOG.md b/crates/tauri-build/CHANGELOG.md index 8568ec92925f..4e5c9c97a9d2 100644 --- a/crates/tauri-build/CHANGELOG.md +++ b/crates/tauri-build/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## \[2.5.3] + +### Dependencies + +- Upgraded to `tauri-utils@2.8.1` +- Upgraded to `tauri-codegen@2.5.2` + ## \[2.5.2] ### Dependencies diff --git a/crates/tauri-build/Cargo.toml b/crates/tauri-build/Cargo.toml index b8e3c6434f3e..da35d963bf6d 100644 --- a/crates/tauri-build/Cargo.toml +++ b/crates/tauri-build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-build" -version = "2.5.2" +version = "2.5.3" description = "build time code to pair with https://crates.io/crates/tauri" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -26,8 +26,8 @@ targets = [ [dependencies] anyhow = "1" quote = { version = "1", optional = true } -tauri-codegen = { version = "2.5.1", path = "../tauri-codegen", optional = true } -tauri-utils = { version = "2.8.0", path = "../tauri-utils", features = [ +tauri-codegen = { version = "2.5.2", path = "../tauri-codegen", optional = true } +tauri-utils = { version = "2.8.1", path = "../tauri-utils", features = [ "build", "resources", ] } diff --git a/crates/tauri-bundler/CHANGELOG.md b/crates/tauri-bundler/CHANGELOG.md index feb621512d6a..0ae31a2bd5f2 100644 --- a/crates/tauri-bundler/CHANGELOG.md +++ b/crates/tauri-bundler/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog +## \[2.7.4] + +### Bug Fixes + +- [`1496145f8`](https://www.github.com/tauri-apps/tauri/commit/1496145f8222649efeff22b819a96208670bbea1) ([#14585](https://www.github.com/tauri-apps/tauri/pull/14585) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused the AppImage bundler to fail with 404 errors for 32-bit builds. + +### Performance Improvements + +- [`ce98d87ce`](https://www.github.com/tauri-apps/tauri/commit/ce98d87ce0aaa907285852eb80691197424e03c3) ([#14474](https://www.github.com/tauri-apps/tauri/pull/14474) by [@Tunglies](https://www.github.com/tauri-apps/tauri/../../Tunglies)) refactor: remove needless collect. No user facing changes. +- [`ee3cc4a91`](https://www.github.com/tauri-apps/tauri/commit/ee3cc4a91bf1315ecaefe90f423ffd55ef6c40db) ([#14475](https://www.github.com/tauri-apps/tauri/pull/14475) by [@Tunglies](https://www.github.com/tauri-apps/tauri/../../Tunglies)) perf: remove needless clones in various files for improved performance. No user facing changes. + +### Dependencies + +- Upgraded to `tauri-macos-sign@2.3.1` +- Upgraded to `tauri-utils@2.8.1` +- [`b5ef603d8`](https://www.github.com/tauri-apps/tauri/commit/b5ef603d84bd8044625e50dcfdabb099b2e9fdd9) ([#14478](https://www.github.com/tauri-apps/tauri/pull/14478) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Updated NSIS from 3.8 to 3.11 + ## \[2.7.3] ### Enhancements diff --git a/crates/tauri-bundler/Cargo.toml b/crates/tauri-bundler/Cargo.toml index 5750480b7ae0..351b072ed76e 100644 --- a/crates/tauri-bundler/Cargo.toml +++ b/crates/tauri-bundler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-bundler" -version = "2.7.3" +version = "2.7.4" authors = [ "George Burton ", "Tauri Programme within The Commons Conservancy", @@ -15,7 +15,7 @@ rust-version = "1.77.2" exclude = ["CHANGELOG.md", "/target", "rustfmt.toml"] [dependencies] -tauri-utils = { version = "2.8.0", path = "../tauri-utils", features = [ +tauri-utils = { version = "2.8.1", path = "../tauri-utils", features = [ "resources", ] } image = "0.25" @@ -59,7 +59,7 @@ features = ["Win32_System_SystemInformation", "Win32_System_Diagnostics_Debug"] [target."cfg(target_os = \"macos\")".dependencies] icns = { package = "tauri-icns", version = "0.1" } time = { version = "0.3", features = ["formatting"] } -tauri-macos-sign = { version = "2.3.0", path = "../tauri-macos-sign" } +tauri-macos-sign = { version = "2.3.1", path = "../tauri-macos-sign" } [target."cfg(target_os = \"linux\")".dependencies] heck = "0.5" diff --git a/crates/tauri-cli/CHANGELOG.md b/crates/tauri-cli/CHANGELOG.md index 841035738477..ba3f2baf5319 100644 --- a/crates/tauri-cli/CHANGELOG.md +++ b/crates/tauri-cli/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## \[2.9.5] + +### Bug Fixes + +- [`f022b2d1a`](https://www.github.com/tauri-apps/tauri/commit/f022b2d1ae57612e39c75782926f2f341d9034a8) ([#14582](https://www.github.com/tauri-apps/tauri/pull/14582) by [@hrzlgnm](https://www.github.com/tauri-apps/tauri/../../hrzlgnm)) Fixed an issue that caused the cli to error out with missing private key, in case the option `--no-sign` was requested and the `tauri.config` has signing key set and the plugin `tauri-plugin-updater` is used. +- [`f855caf8a`](https://www.github.com/tauri-apps/tauri/commit/f855caf8a3830aa5dd6d0b039312866a5d9c3606) ([#14481](https://www.github.com/tauri-apps/tauri/pull/14481) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fixed the mismatched tauri package versions check didn't work for pnpm +- [`79a7d9ec0`](https://www.github.com/tauri-apps/tauri/commit/79a7d9ec01be1a371b8e923848140fea75e9caed) ([#14468](https://www.github.com/tauri-apps/tauri/pull/14468) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused the cli to print errors like `Error Failed to parse version 2 for crate tauri` when there was no `Cargo.lock` file present yet. This will still be logged in `--verbose` mode. + +### Performance Improvements + +- [`ce98d87ce`](https://www.github.com/tauri-apps/tauri/commit/ce98d87ce0aaa907285852eb80691197424e03c3) ([#14474](https://www.github.com/tauri-apps/tauri/pull/14474) by [@Tunglies](https://www.github.com/tauri-apps/tauri/../../Tunglies)) refactor: remove needless collect. No user facing changes. +- [`ee3cc4a91`](https://www.github.com/tauri-apps/tauri/commit/ee3cc4a91bf1315ecaefe90f423ffd55ef6c40db) ([#14475](https://www.github.com/tauri-apps/tauri/pull/14475) by [@Tunglies](https://www.github.com/tauri-apps/tauri/../../Tunglies)) perf: remove needless clones in various files for improved performance. No user facing changes. + +### Dependencies + +- Upgraded to `tauri-bundler@2.7.4` +- Upgraded to `tauri-macos-sign@2.3.1` +- Upgraded to `tauri-utils@2.8.1` + ## \[2.9.4] ### Bug Fixes diff --git a/crates/tauri-cli/Cargo.toml b/crates/tauri-cli/Cargo.toml index 625db14b73f3..89d2ead0cf24 100644 --- a/crates/tauri-cli/Cargo.toml +++ b/crates/tauri-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-cli" -version = "2.9.4" +version = "2.9.5" authors = ["Tauri Programme within The Commons Conservancy"] edition = "2021" rust-version = "1.77.2" @@ -47,7 +47,7 @@ sublime_fuzzy = "0.7" clap_complete = "4" clap = { version = "4", features = ["derive", "env"] } thiserror = "2" -tauri-bundler = { version = "2.7.3", default-features = false, path = "../tauri-bundler" } +tauri-bundler = { version = "2.7.4", default-features = false, path = "../tauri-bundler" } colored = "2" serde = { version = "1", features = ["derive"] } serde_json = { version = "1", features = ["preserve_order"] } @@ -58,7 +58,7 @@ shared_child = "1" duct = "1.0" toml_edit = { version = "0.23", features = ["serde"] } json-patch = "3" -tauri-utils = { version = "2.8.0", path = "../tauri-utils", features = [ +tauri-utils = { version = "2.8.1", path = "../tauri-utils", features = [ "isolation", "schema", "config-json5", @@ -133,7 +133,7 @@ libc = "0.2" [target."cfg(target_os = \"macos\")".dependencies] plist = "1" -tauri-macos-sign = { version = "2.3.0", path = "../tauri-macos-sign" } +tauri-macos-sign = { version = "2.3.1", path = "../tauri-macos-sign" } object = { version = "0.36", default-features = false, features = [ "macho", "read_core", diff --git a/crates/tauri-cli/config.schema.json b/crates/tauri-cli/config.schema.json index b9cdcae1de90..1d19c20eaede 100644 --- a/crates/tauri-cli/config.schema.json +++ b/crates/tauri-cli/config.schema.json @@ -1,6 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://schema.tauri.app/config/2.9.3", + "$id": "https://schema.tauri.app/config/2.9.4", "title": "Config", "description": "The Tauri configuration object.\n It is read from a file where you can define your frontend assets,\n configure the bundler and define a tray icon.\n\n The configuration file is generated by the\n [`tauri init`](https://v2.tauri.app/reference/cli/#init) command that lives in\n your Tauri application source directory (src-tauri).\n\n Once generated, you may modify it at will to customize your Tauri application.\n\n ## File Formats\n\n By default, the configuration is defined as a JSON file named `tauri.conf.json`.\n\n Tauri also supports JSON5 and TOML files via the `config-json5` and `config-toml` Cargo features, respectively.\n The JSON5 file name must be either `tauri.conf.json` or `tauri.conf.json5`.\n The TOML file name is `Tauri.toml`.\n\n ## Platform-Specific Configuration\n\n In addition to the default configuration file, Tauri can\n read a platform-specific configuration from `tauri.linux.conf.json`,\n `tauri.windows.conf.json`, `tauri.macos.conf.json`, `tauri.android.conf.json` and `tauri.ios.conf.json`\n (or `Tauri.linux.toml`, `Tauri.windows.toml`, `Tauri.macos.toml`, `Tauri.android.toml` and `Tauri.ios.toml` if the `Tauri.toml` format is used),\n which gets merged with the main configuration object.\n\n ## Configuration Structure\n\n The configuration is composed of the following objects:\n\n - [`app`](#appconfig): The Tauri configuration\n - [`build`](#buildconfig): The build configuration\n - [`bundle`](#bundleconfig): The bundle configurations\n - [`plugins`](#pluginconfig): The plugins configuration\n\n Example tauri.config.json file:\n\n ```json\n {\n \"productName\": \"tauri-app\",\n \"version\": \"0.1.0\",\n \"build\": {\n \"beforeBuildCommand\": \"\",\n \"beforeDevCommand\": \"\",\n \"devUrl\": \"http://localhost:3000\",\n \"frontendDist\": \"../dist\"\n },\n \"app\": {\n \"security\": {\n \"csp\": null\n },\n \"windows\": [\n {\n \"fullscreen\": false,\n \"height\": 600,\n \"resizable\": true,\n \"title\": \"Tauri App\",\n \"width\": 800\n }\n ]\n },\n \"bundle\": {},\n \"plugins\": {}\n }\n ```", "type": "object", diff --git a/crates/tauri-cli/metadata-v2.json b/crates/tauri-cli/metadata-v2.json index a3ad3dc81601..b57586d4a232 100644 --- a/crates/tauri-cli/metadata-v2.json +++ b/crates/tauri-cli/metadata-v2.json @@ -1,9 +1,9 @@ { "cli.js": { - "version": "2.9.4", + "version": "2.9.5", "node": ">= 10.0.0" }, - "tauri": "2.9.3", - "tauri-build": "2.5.2", - "tauri-plugin": "2.5.1" + "tauri": "2.9.4", + "tauri-build": "2.5.3", + "tauri-plugin": "2.5.2" } diff --git a/crates/tauri-codegen/CHANGELOG.md b/crates/tauri-codegen/CHANGELOG.md index 9d78e2b78a8e..0da7581fed93 100644 --- a/crates/tauri-codegen/CHANGELOG.md +++ b/crates/tauri-codegen/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.5.2] + +### Dependencies + +- Upgraded to `tauri-utils@2.8.1` + ## \[2.5.1] ### Performance Improvements diff --git a/crates/tauri-codegen/Cargo.toml b/crates/tauri-codegen/Cargo.toml index de391d521905..4bb00a1ac8d5 100644 --- a/crates/tauri-codegen/Cargo.toml +++ b/crates/tauri-codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-codegen" -version = "2.5.1" +version = "2.5.2" description = "code generation meant to be consumed inside of `tauri` through `tauri-build` or `tauri-macros`" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -20,7 +20,7 @@ quote = "1" syn = "2" serde = { version = "1", features = ["derive"] } serde_json = "1" -tauri-utils = { version = "2.8.0", path = "../tauri-utils", features = [ +tauri-utils = { version = "2.8.1", path = "../tauri-utils", features = [ "build", ] } thiserror = "2" diff --git a/crates/tauri-macos-sign/CHANGELOG.md b/crates/tauri-macos-sign/CHANGELOG.md index c45220b61276..6da5a62a813f 100644 --- a/crates/tauri-macos-sign/CHANGELOG.md +++ b/crates/tauri-macos-sign/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.3.1] + +### Performance Improvements + +- [`ee3cc4a91`](https://www.github.com/tauri-apps/tauri/commit/ee3cc4a91bf1315ecaefe90f423ffd55ef6c40db) ([#14475](https://www.github.com/tauri-apps/tauri/pull/14475) by [@Tunglies](https://www.github.com/tauri-apps/tauri/../../Tunglies)) perf: remove needless clones in various files for improved performance. No user facing changes. + ## \[2.3.0] ### Enhancements diff --git a/crates/tauri-macos-sign/Cargo.toml b/crates/tauri-macos-sign/Cargo.toml index 77984f71b92f..620c3f750d55 100644 --- a/crates/tauri-macos-sign/Cargo.toml +++ b/crates/tauri-macos-sign/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-macos-sign" -version = "2.3.0" +version = "2.3.1" authors = ["Tauri Programme within The Commons Conservancy"] license = "Apache-2.0 OR MIT" keywords = ["codesign", "signing", "macos", "ios", "tauri"] diff --git a/crates/tauri-macros/CHANGELOG.md b/crates/tauri-macros/CHANGELOG.md index 0775a58d49cb..61d35b3bc35a 100644 --- a/crates/tauri-macros/CHANGELOG.md +++ b/crates/tauri-macros/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## \[2.5.2] + +### Dependencies + +- Upgraded to `tauri-utils@2.8.1` +- Upgraded to `tauri-codegen@2.5.2` + ## \[2.5.1] ### Bug Fixes diff --git a/crates/tauri-macros/Cargo.toml b/crates/tauri-macros/Cargo.toml index 79d5a72307b3..7a096d01cb05 100644 --- a/crates/tauri-macros/Cargo.toml +++ b/crates/tauri-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-macros" -version = "2.5.1" +version = "2.5.2" description = "Macros for the tauri crate." exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -20,8 +20,8 @@ proc-macro2 = { version = "1", features = ["span-locations"] } quote = "1" syn = { version = "2", features = ["full"] } heck = "0.5" -tauri-codegen = { version = "2.5.1", default-features = false, path = "../tauri-codegen" } -tauri-utils = { version = "2.8.0", path = "../tauri-utils" } +tauri-codegen = { version = "2.5.2", default-features = false, path = "../tauri-codegen" } +tauri-utils = { version = "2.8.1", path = "../tauri-utils" } [features] custom-protocol = [] diff --git a/crates/tauri-plugin/CHANGELOG.md b/crates/tauri-plugin/CHANGELOG.md index 104093af20b8..51505ca06270 100644 --- a/crates/tauri-plugin/CHANGELOG.md +++ b/crates/tauri-plugin/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.5.2] + +### Dependencies + +- Upgraded to `tauri-utils@2.8.1` + ## \[2.5.1] ### Bug Fixes diff --git a/crates/tauri-plugin/Cargo.toml b/crates/tauri-plugin/Cargo.toml index 971d8c50f33d..c774a88625ee 100644 --- a/crates/tauri-plugin/Cargo.toml +++ b/crates/tauri-plugin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-plugin" -version = "2.5.1" +version = "2.5.2" description = "Build script and runtime Tauri plugin definitions" authors.workspace = true homepage.workspace = true @@ -28,7 +28,7 @@ runtime = [] [dependencies] anyhow = { version = "1", optional = true } serde = { version = "1", optional = true } -tauri-utils = { version = "2.8.0", default-features = false, features = [ +tauri-utils = { version = "2.8.1", default-features = false, features = [ "build", ], path = "../tauri-utils" } serde_json = { version = "1", optional = true } diff --git a/crates/tauri-runtime-wry/CHANGELOG.md b/crates/tauri-runtime-wry/CHANGELOG.md index d9ac4f1d18e4..2fee3f8222f9 100644 --- a/crates/tauri-runtime-wry/CHANGELOG.md +++ b/crates/tauri-runtime-wry/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## \[2.9.2] + +### Dependencies + +- Upgraded to `tauri-utils@2.8.1` +- Upgraded to `tauri-runtime@2.9.2` + ## \[2.9.1] ### Bug Fixes diff --git a/crates/tauri-runtime-wry/Cargo.toml b/crates/tauri-runtime-wry/Cargo.toml index e247f37937b8..3284cddbdad7 100644 --- a/crates/tauri-runtime-wry/Cargo.toml +++ b/crates/tauri-runtime-wry/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-runtime-wry" -version = "2.9.1" +version = "2.9.2" description = "Wry bindings to the Tauri runtime" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -20,8 +20,8 @@ wry = { version = "0.53.4", default-features = false, features = [ "linux-body", ] } tao = { version = "0.34.5", default-features = false, features = ["rwh_06"] } -tauri-runtime = { version = "2.9.1", path = "../tauri-runtime" } -tauri-utils = { version = "2.8.0", path = "../tauri-utils" } +tauri-runtime = { version = "2.9.2", path = "../tauri-runtime" } +tauri-utils = { version = "2.8.1", path = "../tauri-utils" } raw-window-handle = "0.6" http = "1" url = "2" diff --git a/crates/tauri-runtime/CHANGELOG.md b/crates/tauri-runtime/CHANGELOG.md index edf7e1a03044..c4ae73bec91b 100644 --- a/crates/tauri-runtime/CHANGELOG.md +++ b/crates/tauri-runtime/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.9.2] + +### Dependencies + +- Upgraded to `tauri-utils@2.8.1` + ## \[2.9.1] ### Bug Fixes diff --git a/crates/tauri-runtime/Cargo.toml b/crates/tauri-runtime/Cargo.toml index b269b8d329a0..53db4587379e 100644 --- a/crates/tauri-runtime/Cargo.toml +++ b/crates/tauri-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-runtime" -version = "2.9.1" +version = "2.9.2" description = "Runtime for Tauri applications" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" @@ -27,7 +27,7 @@ targets = [ serde = { version = "1", features = ["derive"] } serde_json = "1" thiserror = "2" -tauri-utils = { version = "2.8.0", path = "../tauri-utils" } +tauri-utils = { version = "2.8.1", path = "../tauri-utils" } http = "1" raw-window-handle = "0.6" url = { version = "2" } diff --git a/crates/tauri-schema-generator/schemas/config.schema.json b/crates/tauri-schema-generator/schemas/config.schema.json index b9cdcae1de90..1d19c20eaede 100644 --- a/crates/tauri-schema-generator/schemas/config.schema.json +++ b/crates/tauri-schema-generator/schemas/config.schema.json @@ -1,6 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://schema.tauri.app/config/2.9.3", + "$id": "https://schema.tauri.app/config/2.9.4", "title": "Config", "description": "The Tauri configuration object.\n It is read from a file where you can define your frontend assets,\n configure the bundler and define a tray icon.\n\n The configuration file is generated by the\n [`tauri init`](https://v2.tauri.app/reference/cli/#init) command that lives in\n your Tauri application source directory (src-tauri).\n\n Once generated, you may modify it at will to customize your Tauri application.\n\n ## File Formats\n\n By default, the configuration is defined as a JSON file named `tauri.conf.json`.\n\n Tauri also supports JSON5 and TOML files via the `config-json5` and `config-toml` Cargo features, respectively.\n The JSON5 file name must be either `tauri.conf.json` or `tauri.conf.json5`.\n The TOML file name is `Tauri.toml`.\n\n ## Platform-Specific Configuration\n\n In addition to the default configuration file, Tauri can\n read a platform-specific configuration from `tauri.linux.conf.json`,\n `tauri.windows.conf.json`, `tauri.macos.conf.json`, `tauri.android.conf.json` and `tauri.ios.conf.json`\n (or `Tauri.linux.toml`, `Tauri.windows.toml`, `Tauri.macos.toml`, `Tauri.android.toml` and `Tauri.ios.toml` if the `Tauri.toml` format is used),\n which gets merged with the main configuration object.\n\n ## Configuration Structure\n\n The configuration is composed of the following objects:\n\n - [`app`](#appconfig): The Tauri configuration\n - [`build`](#buildconfig): The build configuration\n - [`bundle`](#bundleconfig): The bundle configurations\n - [`plugins`](#pluginconfig): The plugins configuration\n\n Example tauri.config.json file:\n\n ```json\n {\n \"productName\": \"tauri-app\",\n \"version\": \"0.1.0\",\n \"build\": {\n \"beforeBuildCommand\": \"\",\n \"beforeDevCommand\": \"\",\n \"devUrl\": \"http://localhost:3000\",\n \"frontendDist\": \"../dist\"\n },\n \"app\": {\n \"security\": {\n \"csp\": null\n },\n \"windows\": [\n {\n \"fullscreen\": false,\n \"height\": 600,\n \"resizable\": true,\n \"title\": \"Tauri App\",\n \"width\": 800\n }\n ]\n },\n \"bundle\": {},\n \"plugins\": {}\n }\n ```", "type": "object", diff --git a/crates/tauri-utils/CHANGELOG.md b/crates/tauri-utils/CHANGELOG.md index 5388872036a6..a63e5103b063 100644 --- a/crates/tauri-utils/CHANGELOG.md +++ b/crates/tauri-utils/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.8.1] + +### Bug Fixes + +- [`1573c7240`](https://www.github.com/tauri-apps/tauri/commit/1573c72402352949d1fd3ca5c6fdbee46fe69fbb) ([#14561](https://www.github.com/tauri-apps/tauri/pull/14561) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused schema files to have `\r` characters on Windows. + ## \[2.8.0] ### New Features diff --git a/crates/tauri-utils/Cargo.toml b/crates/tauri-utils/Cargo.toml index 7cc6f5c782f9..25debb2db02d 100644 --- a/crates/tauri-utils/Cargo.toml +++ b/crates/tauri-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri-utils" -version = "2.8.0" +version = "2.8.1" description = "Utilities for Tauri" exclude = ["CHANGELOG.md", "/target"] readme = "README.md" diff --git a/crates/tauri/CHANGELOG.md b/crates/tauri/CHANGELOG.md index e1332ea349a8..d4b868f5e8fb 100644 --- a/crates/tauri/CHANGELOG.md +++ b/crates/tauri/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## \[2.9.4] + +### Performance Improvements + +- [`ce98d87ce`](https://www.github.com/tauri-apps/tauri/commit/ce98d87ce0aaa907285852eb80691197424e03c3) ([#14474](https://www.github.com/tauri-apps/tauri/pull/14474) by [@Tunglies](https://www.github.com/tauri-apps/tauri/../../Tunglies)) refactor: remove needless collect. No user facing changes. +- [`ee3cc4a91`](https://www.github.com/tauri-apps/tauri/commit/ee3cc4a91bf1315ecaefe90f423ffd55ef6c40db) ([#14475](https://www.github.com/tauri-apps/tauri/pull/14475) by [@Tunglies](https://www.github.com/tauri-apps/tauri/../../Tunglies)) perf: remove needless clones in various files for improved performance. No user facing changes. + +### Dependencies + +- Upgraded to `tauri-utils@2.8.1` +- Upgraded to `tauri-runtime@2.9.2` +- Upgraded to `tauri-runtime-wry@2.9.2` +- Upgraded to `tauri-macros@2.5.2` +- Upgraded to `tauri-build@2.5.3` + ## \[2.9.3] ### Bug Fixes diff --git a/crates/tauri/Cargo.toml b/crates/tauri/Cargo.toml index dda4f4124580..48336f82a15f 100644 --- a/crates/tauri/Cargo.toml +++ b/crates/tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tauri" -version = "2.9.3" +version = "2.9.4" description = "Make tiny, secure apps for all desktop platforms with Tauri" exclude = ["/test", "/.scripts", "CHANGELOG.md", "/target"] readme = "README.md" @@ -55,12 +55,12 @@ uuid = { version = "1", features = ["v4"], optional = true } url = "2" anyhow = "1" thiserror = "2" -tauri-runtime = { version = "2.9.1", path = "../tauri-runtime" } -tauri-macros = { version = "2.5.1", path = "../tauri-macros" } -tauri-utils = { version = "2.8.0", features = [ +tauri-runtime = { version = "2.9.2", path = "../tauri-runtime" } +tauri-macros = { version = "2.5.2", path = "../tauri-macros" } +tauri-utils = { version = "2.8.1", features = [ "resources", ], path = "../tauri-utils" } -tauri-runtime-wry = { version = "2.9.1", path = "../tauri-runtime-wry", default-features = false, optional = true } +tauri-runtime-wry = { version = "2.9.2", path = "../tauri-runtime-wry", default-features = false, optional = true } getrandom = "0.3" serde_repr = "0.1" http = "1" @@ -162,8 +162,8 @@ objc2-ui-kit = { version = "0.3.0", default-features = false, features = [ [build-dependencies] glob = "0.3" heck = "0.5" -tauri-build = { path = "../tauri-build/", default-features = false, version = "2.5.2" } -tauri-utils = { path = "../tauri-utils/", version = "2.8.0", features = [ +tauri-build = { path = "../tauri-build/", default-features = false, version = "2.5.3" } +tauri-utils = { path = "../tauri-utils/", version = "2.8.1", features = [ "build", ] } diff --git a/packages/api/CHANGELOG.md b/packages/api/CHANGELOG.md index be0325b77b36..f9cce7cdf1fd 100644 --- a/packages/api/CHANGELOG.md +++ b/packages/api/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## \[2.9.1] + +### Bug Fixes + +- [`ad1dec2e2`](https://www.github.com/tauri-apps/tauri/commit/ad1dec2e2488fe5c0a004b69f1bd290dfc593bf8) ([#14464](https://www.github.com/tauri-apps/tauri/pull/14464) by [@funnydino](https://www.github.com/tauri-apps/tauri/../../funnydino)) Fix `addPluginListener` fallback added in https://github.com/tauri-apps/tauri/pull/14132 didn't work properly + ## \[2.9.0] ### New Features diff --git a/packages/api/package.json b/packages/api/package.json index 57628957b950..bc7aba71175e 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@tauri-apps/api", - "version": "2.9.0", + "version": "2.9.1", "description": "Tauri API definitions", "funding": { "type": "opencollective", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index b242fd9ca2ee..669c6b313830 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## \[2.9.5] + +### Bug Fixes + +- [`f855caf8a`](https://www.github.com/tauri-apps/tauri/commit/f855caf8a3830aa5dd6d0b039312866a5d9c3606) ([#14481](https://www.github.com/tauri-apps/tauri/pull/14481) by [@Legend-Master](https://www.github.com/tauri-apps/tauri/../../Legend-Master)) Fixed the mismatched tauri package versions check didn't work for pnpm + +### Performance Improvements + +- [`ce98d87ce`](https://www.github.com/tauri-apps/tauri/commit/ce98d87ce0aaa907285852eb80691197424e03c3) ([#14474](https://www.github.com/tauri-apps/tauri/pull/14474) by [@Tunglies](https://www.github.com/tauri-apps/tauri/../../Tunglies)) refactor: remove needless collect. No user facing changes. + +### Dependencies + +- Upgraded to `tauri-cli@2.9.5` + ## \[2.9.4] ### Bug Fixes diff --git a/packages/cli/package.json b/packages/cli/package.json index cf9a13172453..0d2bf618cf3f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@tauri-apps/cli", - "version": "2.9.4", + "version": "2.9.5", "description": "Command line interface for building Tauri apps", "type": "commonjs", "funding": {