# tauri-plugin-hdiff-update
Tauri v2 plugin for signed HDiffPatch differential installer updates.
## Install
```toml
[dependencies]
tauri-plugin-hdiff-update = "0.1"
```
Register the plugin:
```rust
tauri::Builder::default()
.plugin(tauri_plugin_hdiff_update::init())
```
Enable the production permission set:
```json
"hdiff-update:default"
```
The default permission only exposes the production update path:
- `download_and_apply`
- `download_and_install`
The release-lab commands are intentionally excluded from the default permission
set.
## Frontend Command
```ts
import { Channel, invoke } from "@tauri-apps/api/core";
const onEvent = new Channel();
onEvent.onmessage = (event) => console.log(event);
update: {
manifestUrl: "https://updates.example.com/latest.json",
currentVersion: "0.1.0",
currentArtifactPath: "C:\\ProgramData\\xCodex\\installers\\xCodex_0.1.0.exe",
hpatchzPath: "C:\\Program Files\\xCodex\\resources\\bin\\hpatchz.exe",
signaturePublicKey: "base64-ed25519-public-key",
requireSignature: true,
headers: [{ name: "Authorization", value: "Bearer short-lived-token" }],
},
installerArgs: [],
},
onEvent,
});
```