UniCreate - Patch Notes v1.0.7
Date: 2026-03-29
Release tag: `v1.0.7`
Repository: `drrakendu78/UniCreate`
Highlights
- Chinese localization (Simplified & Traditional) — merged PR #3
- Fixed package IDs with `-` and `_` being incorrectly rejected
- Fixed case-sensitive package search causing false "not found" results
- Added nested installer support for ZIP packages
- Fixed auto-updater "Path traversal detected" error on Windows
Changes
1) Chinese localization (PR #3)
- Added Simplified Chinese (`zh-Hans`) and Traditional Chinese (`zh-Hant`) translations across all UI strings.
- Language selector in Settings now includes both Chinese variants.
Impacted files:
- `src/lib/i18n.ts`
- `src/pages/Settings.tsx`
- `src/stores/settings-store.ts`
2) Fix — Package ID with `-` and `_` rejected (issue #1)
- The frontend regex now correctly allows hyphens and underscores in package identifiers (e.g. `Mihomo-Party.Mihomo-Party`).
- WinGet supports these characters natively; only the UI validation was wrong.
Impacted files:
- `src/pages/StepMetadata.tsx`
3) Fix — Case-sensitive package search (issue #2)
- Searching for an existing package now falls back to a case-insensitive directory walk when the exact-case path returns 404.
- Prevents false "package not found" errors when the user types a different casing than what is stored in `microsoft/winget-pkgs`.
Impacted files:
- `src-tauri/src/github.rs`
4) Nested installer support for ZIP packages (issue #4)
- When installer type is set to `zip`, a new section appears to fill in `NestedInstallerType`, `RelativeFilePath`, and optionally `PortableCommandAlias`.
- The generated manifest now correctly includes `NestedInstallerType` and `NestedInstallerFiles` as required by WinGet for archive-type packages.
Impacted files:
- `src/lib/types.ts`
- `src/lib/i18n.ts`
- `src/pages/StepInstaller.tsx`
- `src-tauri/src/yaml_generator.rs`
5) Fix — Auto-updater "Path traversal detected" on Windows
- `std::fs::canonicalize` on Windows adds a `\?\
prefix to existing directories but the file doesn't exist yet, causing \starts_with` to fail.
- Fixed by building the destination path from the already-canonical directory instead of canonicalizing the non-existent file.
Impacted files:
- `updater/src-tauri/src/lib.rs`
6) Version bump
- App version updated to `1.0.7`.
Checksums (SHA-256)
| File |
SHA-256 |
| `UniCreate_1.0.7_x64-setup.exe` |
`9ba244774b6637598e44778b4e5f8c40d917a572548939e3e1715fd40f255a1d` |
| `UniCreate_1.0.7_x64_en-US.msi` |
`23f761c7a60b4e922f5f7be831495e37b3b02126f0993d30b9e8727091d40591` |