Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions .changes/docsrs.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changes/macos-codesign-error-enum.md

This file was deleted.

22 changes: 11 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions crates/tauri-build/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## \[2.5.1]

### Bug Fixes

- [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes.

Comment on lines +5 to +8

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Hyphenate “user-facing”.

Minor grammar polish in the new entry.

✍️ Suggested edit
- Fixed an issue that caused docs.rs builds to fail. No user facing changes.
+ Fixed an issue that caused docs.rs builds to fail. No user-facing changes.
🧰 Tools
🪛 LanguageTool

[style] ~7-~7: Consider using a different verb for a more formal wording.
Context: ...com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to ...

(FIX_RESOLVE)


[grammar] ~7-~7: Use a hyphen to join words.
Context: ...t caused docs.rs builds to fail. No user facing changes. ## [2.5.0] ### New Fe...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
In `@crates/tauri-build/CHANGELOG.md` around lines 5 - 8, Update the changelog
entry text "No user facing changes." to hyphenate the adjective by changing it
to "No user-facing changes." — locate the string in the entry referencing commit
4b6b8690a / PR `#14347` and replace the unhyphenated phrase with the hyphenated
form.

## \[2.5.0]

### New Features
Expand Down
2 changes: 1 addition & 1 deletion crates/tauri-build/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tauri-build"
version = "2.5.0"
version = "2.5.1"
description = "build time code to pair with https://crates.io/crates/tauri"
exclude = ["CHANGELOG.md", "/target"]
readme = "README.md"
Expand Down
6 changes: 6 additions & 0 deletions crates/tauri-bundler/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## \[2.7.1]

### Dependencies

- Upgraded to `tauri-macos-sign@2.3.0`

## \[2.7.0]

### New Features
Expand Down
4 changes: 2 additions & 2 deletions crates/tauri-bundler/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tauri-bundler"
version = "2.7.0"
version = "2.7.1"
authors = [
"George Burton <burtonageo@gmail.com>",
"Tauri Programme within The Commons Conservancy",
Expand Down Expand Up @@ -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.2.0", path = "../tauri-macos-sign" }
tauri-macos-sign = { version = "2.3.0", path = "../tauri-macos-sign" }

[target."cfg(target_os = \"linux\")".dependencies]
heck = "0.5"
Expand Down
7 changes: 7 additions & 0 deletions crates/tauri-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## \[2.9.1]

### Dependencies

- Upgraded to `tauri-macos-sign@2.3.0`
- Upgraded to `tauri-bundler@2.7.1`

## \[2.9.0]

### New Features
Expand Down
6 changes: 3 additions & 3 deletions crates/tauri-cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tauri-cli"
version = "2.9.0"
version = "2.9.1"
authors = ["Tauri Programme within The Commons Conservancy"]
edition = "2021"
rust-version = "1.77.2"
Expand Down Expand Up @@ -47,7 +47,7 @@ sublime_fuzzy = "0.7"
clap_complete = "4"
clap = { version = "4", features = ["derive", "env"] }
thiserror = "2"
tauri-bundler = { version = "2.7.0", default-features = false, path = "../tauri-bundler" }
tauri-bundler = { version = "2.7.1", default-features = false, path = "../tauri-bundler" }
colored = "2"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"] }
Expand Down Expand Up @@ -132,7 +132,7 @@ libc = "0.2"

[target."cfg(target_os = \"macos\")".dependencies]
plist = "1"
tauri-macos-sign = { version = "2.2.0", path = "../tauri-macos-sign" }
tauri-macos-sign = { version = "2.3.0", path = "../tauri-macos-sign" }
object = { version = "0.36", default-features = false, features = [
"macho",
"read_core",
Expand Down
2 changes: 1 addition & 1 deletion crates/tauri-cli/config.schema.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://schema.tauri.app/config/2.9.0",
"$id": "https://schema.tauri.app/config/2.9.1",
"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",
Expand Down
8 changes: 4 additions & 4 deletions crates/tauri-cli/metadata-v2.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"cli.js": {
"version": "2.9.0",
"version": "2.9.1",
"node": ">= 10.0.0"
},
"tauri": "2.9.0",
"tauri-build": "2.5.0",
"tauri-plugin": "2.5.0"
"tauri": "2.9.1",
"tauri-build": "2.5.1",
"tauri-plugin": "2.5.1"
}
6 changes: 6 additions & 0 deletions crates/tauri-macos-sign/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## \[2.3.0]

### Enhancements

- [`f59bf9d53`](https://www.github.com/tauri-apps/tauri/commit/f59bf9d5392ffd209e26ce5259c26d1acc31c4ba) ([#14337](https://www.github.com/tauri-apps/tauri/pull/14337) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Potentially breaking change:** Export custom Error enum instead of using anyhow. The changes happened in https://github.com/tauri-apps/tauri/pull/14126.
Comment on lines +3 to +7

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix bare URL to satisfy markdownlint (MD034).

Line 7 includes a bare URL; wrap it in link syntax.

📝 Suggested fix
-- [`f59bf9d53`](https://www.github.com/tauri-apps/tauri/commit/f59bf9d5392ffd209e26ce5259c26d1acc31c4ba) ([`#14337`](https://www.github.com/tauri-apps/tauri/pull/14337) by [`@FabianLars`](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Potentially breaking change:** Export custom Error enum instead of using anyhow. The changes happened in https://github.com/tauri-apps/tauri/pull/14126.
+- [`f59bf9d53`](https://www.github.com/tauri-apps/tauri/commit/f59bf9d5392ffd209e26ce5259c26d1acc31c4ba) ([`#14337`](https://www.github.com/tauri-apps/tauri/pull/14337) by [`@FabianLars`](https://www.github.com/tauri-apps/tauri/../../FabianLars)) **Potentially breaking change:** Export custom Error enum instead of using anyhow. The changes happened in [`#14126`](https://github.com/tauri-apps/tauri/pull/14126).
🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

[warning] 7-7: Bare URL used

(MD034, no-bare-urls)

🤖 Prompt for AI Agents
In `@crates/tauri-macos-sign/CHANGELOG.md` around lines 3 - 7, The CHANGELOG entry
contains a bare URL "https://github.com/tauri-apps/tauri/pull/14126" which
violates markdownlint MD034; update the line in the 2.3.0 Enhancements block to
wrap that URL in explicit link syntax (e.g., [PR
`#14126`](https://github.com/tauri-apps/tauri/pull/14126) or similar) so the URL
is not bare while preserving the existing text and reference to the PR/commit.


## \[2.2.0]

### New Features
Expand Down
2 changes: 1 addition & 1 deletion crates/tauri-macos-sign/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tauri-macos-sign"
version = "2.2.0"
version = "2.3.0"
authors = ["Tauri Programme within The Commons Conservancy"]
license = "Apache-2.0 OR MIT"
keywords = ["codesign", "signing", "macos", "ios", "tauri"]
Expand Down
63 changes: 41 additions & 22 deletions crates/tauri-macos-sign/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,59 +17,78 @@ mod provisioning_profile;
pub use keychain::{Keychain, Team};
pub use provisioning_profile::ProvisioningProfile;

#[derive(Debug, thiserror::Error)]
#[derive(Debug)]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if thiserror is used anywhere in the tauri-macos-sign crate
rg -n "thiserror" crates/tauri-macos-sign/

Repository: agentic-review-benchmarks/tauri-combined-coderabbit

Length of output: 148


🏁 Script executed:

#!/bin/bash
# Also check the Cargo.toml to see if thiserror is listed as a dependency
cat crates/tauri-macos-sign/Cargo.toml | grep -A 5 -B 5 "thiserror"

Repository: agentic-review-benchmarks/tauri-combined-coderabbit

Length of output: 360


🏁 Script executed:

#!/bin/bash
# Check if there are any use statements or imports of thiserror
rg -n "use.*thiserror|from.*thiserror|thiserror::" crates/tauri-macos-sign/

Repository: agentic-review-benchmarks/tauri-combined-coderabbit

Length of output: 77


Remove the unused thiserror dependency from Cargo.toml.

The thiserror crate is listed in Cargo.toml but is no longer used in the crate since the Error enum now uses manual Display and std::error::Error implementations instead of the thiserror derive macro. Remove it from the dependencies to eliminate unnecessary bloat.

🤖 Prompt for AI Agents
In `@crates/tauri-macos-sign/src/lib.rs` at line 20, Remove the unused thiserror
dependency from Cargo.toml: open Cargo.toml and delete the thiserror entry from
[dependencies] (or move it to [dev-dependencies] only if still used in tests),
since the crate no longer derives Error with thiserror and the Error enum in
lib.rs implements Display and std::error::Error manually; ensure Cargo.lock /
cargo build succeeds after removing the entry to verify no remaining references
to thiserror exist.

pub enum Error {
#[error("failed to create temp directory: {0}")]
TempDir(std::io::Error),
#[error("failed to resolve home dir")]
ResolveHomeDir,
#[error("failed to resolve signing identity")]
ResolveSigningIdentity,
#[error("failed to decode provisioning profile")]
FailedToDecodeProvisioningProfile,
#[error("could not find provisioning profile UUID")]
FailedToFindProvisioningProfileUuid,
#[error("{context} {path}: {error}")]
Plist {
context: &'static str,
path: PathBuf,
error: plist::Error,
},
#[error("failed to upload app to Apple's notarization servers: {error}")]
FailedToUploadApp { error: std::io::Error },
#[error("failed to notarize app: {0}")]
Notarize(String),
#[error("failed to parse notarytool output as JSON: {output}")]
ParseNotarytoolOutput { output: String },
#[error("failed to run command {command}: {error}")]
CommandFailed {
command: String,
error: std::io::Error,
},
#[error("{context} {path}: {error}")]
Fs {
context: &'static str,
path: PathBuf,
error: std::io::Error,
},
#[error("failed to parse X509 certificate: {error}")]
X509Certificate {
error: x509_certificate::X509CertificateError,
},
#[error("failed to create PFX from self signed certificate")]
FailedToCreatePFX,
#[error("failed to create self signed certificate: {error}")]
FailedToCreateSelfSignedCertificate {
error: Box<apple_codesign::AppleCodesignError>,
},
#[error("failed to encode DER: {error}")]
FailedToEncodeDER { error: std::io::Error },
#[error("certificate missing common name")]
CertificateMissingCommonName,
#[error("certificate missing organization unit for common name {common_name}")]
CertificateMissingOrganizationUnit { common_name: String },
}

impl std::fmt::Display for Error {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Error::TempDir(e) => write!(f, "failed to create temp directory: {}", e),
Error::ResolveHomeDir => write!(f, "failed to resolve home dir"),
Error::ResolveSigningIdentity => write!(f, "failed to resolve signing identity"),
Error::FailedToDecodeProvisioningProfile => write!(f, "failed to decode provisioning profile"),
Error::FailedToFindProvisioningProfileUuid => write!(f, "could not find provisioning profile UUID"),
Error::Plist { context, path, error } => write!(f, "{} {}: {}", context, path.display(), error),
Error::FailedToUploadApp { error } => write!(f, "failed to upload app to Apple's notarization servers: {}", error),
Error::Notarize(msg) => write!(f, "failed to notarize app: {}", msg),
Error::ParseNotarytoolOutput { output } => write!(f, "failed to parse notarytool output as JSON: {}", output),
Error::CommandFailed { command, error } => write!(f, "failed to run command {}: {}", command, error),
Error::Fs { context, path, error } => write!(f, "{} {}: {}", context, path.display(), error),
Error::X509Certificate { error } => write!(f, "failed to parse X509 certificate: {}", error),
Error::FailedToCreatePFX => write!(f, "failed to create PFX from self signed certificate"),
Error::FailedToCreateSelfSignedCertificate { error } => write!(f, "failed to create self signed certificate: {}", error),
Error::FailedToEncodeDER { error } => write!(f, "failed to encode DER: {}", error),
Error::CertificateMissingCommonName => write!(f, "certificate missing common name"),
Error::CertificateMissingOrganizationUnit { common_name } => write!(f, "certificate missing organization unit for common name {}", common_name),
}
}
}

impl std::error::Error for Error {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
match self {
Error::TempDir(e) => Some(e),
Error::FailedToUploadApp { error } => Some(error),
Error::CommandFailed { error, .. } => Some(error),
Error::Fs { error, .. } => Some(error),
_ => None,
}
}
}

pub type Result<T> = std::result::Result<T, Error>;

trait CommandExt {
Expand Down Expand Up @@ -151,12 +170,12 @@ fn notarize_inner(
"-k",
"--keepParent",
"--sequesterRsrc",
app_bundle_path
.to_str()
.expect("failed to convert bundle_path to string"),
zip_path
.to_str()
.expect("failed to convert zip_path to string"),
app_bundle_path
.to_str()
.expect("failed to convert bundle_path to string"),
];

// use ditto to create a PKZip almost identical to Finder
Expand Down Expand Up @@ -211,7 +230,7 @@ fn notarize_inner(
submit_output.message
);
// status is empty when not waiting for the notarization to finish
if submit_output.status.map_or(!wait, |s| s == "Accepted") {
if submit_output.status.map_or(wait, |s| s == "Accepted") {
println!("Notarizing {log_message}");

if wait {
Expand Down
6 changes: 6 additions & 0 deletions crates/tauri-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## \[2.5.1]

### Bug Fixes

- [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Hyphenate “user-facing”.

Compound adjective should be hyphenated.

✏️ Proposed fix
-... Fixed an issue that caused docs.rs builds to fail. No user facing changes.
+... Fixed an issue that caused docs.rs builds to fail. No user-facing changes.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([#14347](https://www.github.com/tauri-apps/tauri/pull/14347) by [@FabianLars](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user facing changes.
- [`4b6b8690a`](https://www.github.com/tauri-apps/tauri/commit/4b6b8690ab886ebdf1307951cffbe03e31280baa) ([`#14347`](https://www.github.com/tauri-apps/tauri/pull/14347) by [`@FabianLars`](https://www.github.com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to fail. No user-facing changes.
🧰 Tools
🪛 LanguageTool

[style] ~7-~7: Consider using a different verb for a more formal wording.
Context: ...com/tauri-apps/tauri/../../FabianLars)) Fixed an issue that caused docs.rs builds to ...

(FIX_RESOLVE)


[grammar] ~7-~7: Use a hyphen to join words.
Context: ...t caused docs.rs builds to fail. No user facing changes. ## [2.5.0] ### Depend...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
In `@crates/tauri-plugin/CHANGELOG.md` at line 7, Update the changelog entry text
to hyphenate the compound adjective "user facing" to "user-facing" in the line
containing the commit reference `4b6b8690a` (the entry starting "Fixed an issue
that caused docs.rs builds to fail. No user facing changes."); edit that
sentence so it reads "No user-facing changes."


## \[2.5.0]

### Dependencies
Expand Down
2 changes: 1 addition & 1 deletion crates/tauri-plugin/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tauri-plugin"
version = "2.5.0"
version = "2.5.1"
description = "Build script and runtime Tauri plugin definitions"
authors.workspace = true
homepage.workspace = true
Expand Down
Loading