Stage 4 work log
Freeze the public CLI/provider contracts, finish user and release documentation, obtain signing and certification evidence, and publish GitHub, WinGet, and Microsoft Store 1.0 from one version source.
Current status
Section titled “Current status”Stage 4 is not complete. A public-contract candidate, the 1.0 readiness manifest, the Release workflow, SBOMs, provenance, checksums, and stage records exist, but they prove release preparation rather than completion of every stable-release gate.
Current Unreleased increment
Section titled “Current Unreleased increment”There is no pending feature increment. RAR 5 creation and fixed-MSZIP CAB creation shipped in v0.1.15; TAR + LZ4 shipped in v0.1.13, and the professional grouped archive toolbar shipped in v0.1.14.
Prepared
Section titled “Prepared”docs/src/content/docs/en/development/contracts.mddefines CLI commands, format values, conflict policies, password input, exit codes, core-provider boundaries, and Worker protocol compatibility.tests/smoke/contract-policy.ps1now wires the candidate CLI commands, eighteen creation formats, eighteen capability rows, bilingual contract pages, and exit codes into Windows CI; the final freeze remains reserved for the 1.0 release commit.release/readiness.jsonbinds stable tags to accessibility, queue, trusted-install, ARM64, screenshot, WACK, WinGet, Store, Partner Center, and signing evidence.- The Release workflow derives dual-architecture builds, audits, checksums, SBOMs, provenance, and GitHub Releases from the workspace version; ordinary public releases use unsigned artifacts, while formal signing can be enabled explicitly through workflow inputs.
v0.1.0-alpha.1is publicly available as a prerelease;v0.1.0,v0.1.2,v0.1.3,v0.1.4,v0.1.5,v0.1.6,v0.1.7,v0.1.8,v0.1.9,v0.1.10,v0.1.11,v0.1.12,v0.1.13,v0.1.14, andv0.1.15have been published as public GitHub Releases from matching tags.
Required to finish
Section titled “Required to finish”- Close the real foreground queue, trusted signed-install lifecycle, physical ARM64, complete accessibility, and WACK gates.
- Complete Partner Center identity, SignPath/production signing, formal bilingual Store screenshots, WinGet acceptance, and Store certification.
- Freeze the CLI, provider, and IPC contracts on the 1.0 release commit, then update final release notes, Stage 4 evidence, and the release result.
Release result
Section titled “Release result”Stable 1.0 has not been published; v0.1.15 is the current usable public GitHub version, while formal Store, WinGet, and trusted-signing gates remain incomplete. Stage 4 remains active.
2026-09-01 — v0.1.15 RAR 5/CAB creation and public release result
Section titled “2026-09-01 — v0.1.15 RAR 5/CAB creation and public release result”- RAR 5 creation supports levels 0–5, password-protected headers, progress, cancellation, and atomic output; RAR volume, recovery-record, update, and rename limits are explicit. Windows CAB creation uses fixed MSZIP and is wired through the core, CLI, both desktop UIs, list/test/selective-extract round trips, and bilingual documentation; empty-directory, password, update, and rename limits are explicit.
- PR #106 merged as
13f1d0e25c3a546ebe2f88b172feb2479de05d67, and tagv0.1.15points exactly to that commit. - Release workflow 33502996127 completed SBOM, x64/ARM64 tests and builds, standalone EXE smoke/audit, the all-in-one bundle, asset audit, and public publication.
- The v0.1.15 Release was published at
2026-09-01T12:05:59Zas neither a draft nor a prerelease and exposes exactlyZiFile-0.1.15.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; no DLL, JSON, YAML, or ZIP is public. - This remains an unsigned GitHub build; trusted signing, real foreground UI, physical ARM64, WACK, WinGet community acceptance, and Microsoft Store/Partner Center gates remain independently pending.
2026-09-01 — v0.1.14 professional archive toolbar and public release result
Section titled “2026-09-01 — v0.1.14 professional archive toolbar and public release result”- The default Iced desktop UI now separates archive management, editing, batch rename, and extraction into responsive toolbar groups that remain usable at narrow window widths; Worker, queue, and archive-operation semantics are unchanged.
- PR #105 merged as
835ed9fd7c0f1b20ca3bda462d2492a15eb8a31a, and tagv0.1.14points exactly to that commit. - Release workflow 33476898197 completed dual-architecture builds, tests, asset audit, and public publication.
- The v0.1.14 Release was published at
2026-09-01T06:49:56Zas neither a draft nor a prerelease and exposes exactly the all-in-oneZiFile-0.1.14.0-windows.msixbundle, two standalone EXEs, andSHA256SUMS.txt; no DLL, JSON, YAML, or ZIP is public. - This remains an unsigned GitHub build; trusted signing, real foreground UI, physical ARM64, WACK, WinGet community acceptance, and Microsoft Store/Partner Center gates remain independently pending.
2026-09-01 — v0.1.13 TAR + LZ4 and public release result
Section titled “2026-09-01 — v0.1.13 TAR + LZ4 and public release result”- TAR + LZ4 now ships across the core, CLI, default Iced UI, Dioxus/WebView2 candidate, update path, format detection, round-trip/smoke/performance tests, 18 fuzz inputs, and bilingual documentation.
tar.lz4andtlz4are compound-format aliases; ordinary.lz4retains single-stream semantics. - PR #100 merged the feature; version-preparation PR #101 merged as
ade00dfe765f194b49ead830a9dc107fde2bcc33, and tagv0.1.13points exactly to that commit. - Release workflow 33454708236 completed x64/ARM64 workspace tests, MSIX and standalone EXE builds, x64 EXE smoke testing, ARM64 PE auditing, the all-in-one bundle, SBOM, asset auditing, and public publication.
- The v0.1.13 Release was published at
2026-09-01T00:58:57Zas neither a draft nor a prerelease and exposes exactlyZiFile-0.1.13.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; no DLL, JSON, YAML, or ZIP is public. Both EXEs are self-contained standalone Windows downloads. - This remains an unsigned GitHub build; SignPath, trusted installation, real foreground UI, physical ARM64, WACK, WinGet community acceptance, and Microsoft Store/Partner Center gates remain independently pending.
2026-09-01 — archive-entry rename
Section titled “2026-09-01 — archive-entry rename”- The core now exposes
ArchiveRenameandrename_archive. ZIP, 7z, and TAR-family archives are rebuilt in a sibling staging directory and replace the original only after the rename succeeds; directory mappings move the complete subtree, while single-file streams, RAR, and CAB remain read-only for update/rename. - Mappings are validated before staging content changes: archive-relative path policy, case-collision, duplicate/overlapping source and destination, type conflicts, existing targets, links/reparse points, and cancellation are covered. A temporary move phase makes batch swaps deterministic and failed work cannot commit the original archive.
- Worker IPC advances to
PROTOCOL_VERSION = 3; the CLI adds repeatablerename <archive> --rename <FROM=TO>. The default Iced UI and the Dioxus/WebView2 accessibility candidate both expose bilingual single-selection rename editors and reload the archive after success. - Verification: 55/55 core integration tests, 10/10 CLI unit tests, 4/4 Worker protocol tests, and desktop
cargo check --all-targets --all-featurespassed. Real foreground UI, signing, Store, and WACK gates remain explicitly unclaimed.
2026-09-01 — v0.1.12 batch rename and public release result
Section titled “2026-09-01 — v0.1.12 batch rename and public release result”- The default Iced UI and the Dioxus/WebView2 accessibility candidate now expose batch rename editors with find/replace, prefix, and suffix rules. Generated mappings continue through the core atomic staging, collision detection, and cancellation safeguards; uncommitted rules are cleared when selection changes or an archive closes.
- Verification passed: 149 desktop UI unit tests across the three UI targets, seven entry-browser Criterion benchmarks, the full workspace test suite, strict Clippy, 32 bilingual locale pairs, the 65-page Astro static build, and version/release-note gates.
- PR #97 merged the batch rename feature; version-preparation PR #98 merged as
36f69018934880ca46098f08d248eb0d2aad7c2e, and tagv0.1.12points exactly to that commit. - Release workflow 33440085168 completed x64/ARM64 builds, standalone EXE smoke/audit, the all-in-one MSIX bundle, SBOM, asset auditing, and public publication.
- The v0.1.12 Release is neither a draft nor a prerelease and exposes exactly
ZiFile-0.1.12.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; no DLL, JSON, YAML, or ZIP is public. Both EXEs are self-contained standalone Windows downloads, and all three binaries plus the checksum file were downloaded and rechecked against SHA-256. - This remains an unsigned GitHub build; SignPath, trusted installation, real foreground UI, physical ARM64, WACK, WinGet community acceptance, and Microsoft Store/Partner Center gates remain independently pending.
2026-09-01 — 0.1.11 public release result
Section titled “2026-09-01 — 0.1.11 public release result”- PR #95 merged as commit
f66843d2cee0d7fca53a050972771b4de1fbee96; tagv0.1.11points to the release commit. - Release workflow 33426811784 completed x64/ARM64 workspace validation, MSIX and standalone EXE builds, x64 EXE smoke testing, ARM64 PE auditing, the all-in-one bundle, SBOM, asset auditing, and GitHub publication.
- The v0.1.11 Release is neither a draft nor a prerelease and exposes exactly
ZiFile-0.1.11.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; no DLL, JSON, YAML, or ZIP is public. Both EXEs are self-contained standalone Windows downloads.
2026-08-31 — 0.1.10 public release result
Section titled “2026-08-31 — 0.1.10 public release result”- PR #92 merged as commit
b778ba5c2095aa19ccdd03500a5aacae59ae75e8; annotated tagv0.1.10points to the release commit. - Release workflow 33411124570 completed x64/ARM64 tests and builds, standalone EXE smoke/audit, SBOM, the all-in-one bundle, and public publication.
- The v0.1.10 Release exposes exactly
ZiFile-0.1.10.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; no DLL, JSON, YAML, or ZIP is public.
2026-08-31 — 0.1.9 public release result
Section titled “2026-08-31 — 0.1.9 public release result”- PR #88 merged as commit
5477766c1a8590576cab59326b1b2aeeeb74cc51; annotated tagv0.1.9points to the release commit. - Release workflow 33391659106 successfully completed SBOM, x64/ARM64 builds, the all-in-one MSIX bundle, and publication.
- The v0.1.9 Release exposes exactly
ZiFile-0.1.9.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; no DLL, JSON, YAML, or ZIP is public.
2026-08-29 public release result
Section titled “2026-08-29 public release result”- The
v0.1.0Release is published; its tag andmaincommita601738match, and the Release is neither a draft nor a prerelease. - The release workflow generated and uploaded x64/ARM64 MSIX packages, desktop/CLI/Worker/Shell runnable files, SHA-256 checksums, SBOMs, audit files, and a WinGet manifest candidate. The Release identifies the build as unsigned GitHub distribution.
- This validates the GitHub distribution path but does not close trusted signing, WinGet community acceptance, Microsoft Store, WACK, physical ARM64, or full accessibility gates.
2026-08-29 quality closeout
Section titled “2026-08-29 quality closeout”-
Both desktop archive views now provide a bilingual primary
Extract allaction while retaining preciseExtract selected; archives opened from Explorer continue to extract all contents automatically, so users do not need to select every entry first. -
Both desktop archive tables now provide a bilingual
Copy checksumaction: Iced uses the system clipboard, the accessible Dioxus UI uses the Clipboard API, and missing capability or Promise failure becomes an error state. Copy labels, wiring, and failure fallback are covered by tests. -
Both desktop archive headers now provide a bilingual
Show in File Exploreraction that selects the current archive in its containing folder. Launch failures become error status, and this action adds no settings or log record. A successfully opened archive path is now retained under the later recent-history policy. -
The accessible archive browser now uses a lightweight busy summary during high-frequency progress refreshes for large archives, retaining cancel, queue, open-another, and File Explorer actions before restoring the table after completion; this avoids repeatedly scanning 100,000 entries while foreground queue actions are submitted.
-
Standalone
.lzmais now a distinctArchiveFormat::Lzmainstead of a read-only alias overloaded onto XZ: the core useslzma-rust2for LZMA-alone read/write, while the CLI, Iced, Dioxus, capability matrix, and Windows Foundation smoke expose a dedicatedlzmaoption..xzdisplay and detection no longer conflate the two containers. -
The Explorer create command now rejects disappeared paths, non-file-system virtual items, and symbolic links at the Shell menu boundary while retaining command-line budget and path-deduplication checks; Shell regression coverage is now 19 tests, including real file/directory acceptance and stale-source rejection.
-
Core extraction now rejects symbolic links, junctions, and reparse points in the destination itself and existing output parents, with a regression proving that no file is written through the link target; archive-entry link rejection and host-destination checks now share the same boundary.
-
The locale check now requires all 31 Chinese/English page pairs to exist and have a non-empty body after front matter is removed; a present-but-blank Markdown page fails the check.
-
cargo test --workspace --all-targets --all-features --lockedpassed across the CLI, core, 42 archive regressions, Iced, accessible candidate, Shell, Worker, protocol, and Criterion targets. -
The default Iced window now starts centered and enforces a 920×620 minimum so archive tables, search controls, and creation fields remain usable while resizing; a window-settings regression test covers the contract.
-
The Astro static build generated 63 pages with 0 errors/warnings/hints; user documentation, Node/PowerShell syntax, packaging policy, and worktree hygiene checks passed.
-
This is local code and documentation evidence. It does not change the 11 external release gates from
pendingand does not replace trusted signing, Store/WinGet, physical ARM64, WACK, or real assistive-technology validation.
2026-08-30 — 0.1.2 release preparation
Section titled “2026-08-30 — 0.1.2 release preparation”- Workspace, internal crate pins, the documentation package, and
Cargo.lockare being advanced together to0.1.2for a stable patch release containing the all-in-one MSIX and portable executable release assets.
2026-08-30 — 0.1.2 release result
Section titled “2026-08-30 — 0.1.2 release result”v0.1.2 Releasewas published automatically from its tag; the Release is neither a draft nor a prerelease, and workflow 33291234378 completed successfully.- Public assets are limited to one all-in-one
msixbundle, one standalone x64 EXE, one standalone ARM64 EXE, andSHA256SUMS.txt; DLLs, build configuration, SBOMs, and the WinGet manifest candidate remain workflow evidence only.
2026-08-30 — 0.1.3 standalone portable release
Section titled “2026-08-30 — 0.1.3 standalone portable release”v0.1.3 Releasewas published automatically by workflow 33296532873 after PR #39 passed all nine CI checks, including x64 and ARM64 reproducible double builds.- The final public assets are exactly
ZiFile-0.1.3.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt. The desktop EXE embeds the Worker runtime and starts itself with--zifile-worker, so the portable downloads do not require a second Worker file. - The x64 portable EXE was downloaded from the published Release and matched
SHA256SUMS.txt; the ARM64 hash is retained in the workflow-generated checksum manifest. The Release remains explicitly unsigned and is not a Store-certified package. - The ordinary public Release path still produces unsigned GitHub Windows artifacts; SignPath, WinGet community acceptance, Microsoft Store, WACK, physical ARM64, and full assistive-technology gates remain tracked independently. The standalone desktop EXEs are self-contained and do not require a separately downloaded Worker executable.
2026-08-30 — 0.1.4 public release result
Section titled “2026-08-30 — 0.1.4 public release result”v0.1.4 Releasewas published automatically by workflow 33315987748; PR #51 passed version consistency, Rust quality, interoperability, performance, fuzz, and x64/ARM64 reproducible double-build checks.- The final public assets are exactly
ZiFile-0.1.4.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; standalone DLLs, JSON/YAML configuration, SBOM, and provenance files are not published separately. - The x64/ARM64 Windows jobs, all-in-one MSIX bundle job, SBOM job, and GitHub Release job all succeeded. The signing job was conditionally skipped because SignPath is not configured yet, so this remains an explicitly unsigned GitHub build.
2026-08-30 — Public Release asset audit fix
Section titled “2026-08-30 — Public Release asset audit fix”- The stage prerelease Job called the repository-owned
tests/smoke/public-release-assets.ps1without checking out the tagged commit; on a clean Ubuntu runner this would fail because the script was absent. - PR #45 added repository checkout as the first step of
publish-stageand added a scoped policy check that keeps the checkout before the public asset audit. - Merge commit
4d65881passed the post-merge main CI 33305272788. - The public asset set is unchanged: one all-in-one MSIX, one standalone x64 EXE, one standalone ARM64 EXE, and
SHA256SUMS.txt; audits, SBOMs, provenance, and WinGet YAML remain workflow artifacts.
2026-08-30 — UI validation and WinGet gate resilience
Section titled “2026-08-30 — UI validation and WinGet gate resilience”- PR #48 surfaces non-empty create-source validation failures directly in the Iced create page with a bilingual danger notice; the Create action remains disabled and a source-level regression guard covers the rendered notice.
- The PR passed
cargo fmt --all -- --checkandcargo test -p zifile-desktop --all-targets --lockedbefore merge commit1487bf6. - PR #49 makes the pinned WinGet validation-client repair retry up to three times with bounded backoff after transient CDN connection failures, and records the attempt limit in the validation evidence.
- All PR #49 checks passed, including official WinGet manifest validation, Rust quality, foundation smoke, performance, fuzz-target compilation, and reference-tool interoperability; merge commit
cbb6505is now onmain.
2026-08-30 — WinGet all-in-one manifest alignment
Section titled “2026-08-30 — WinGet all-in-one manifest alignment”- The WinGet generator, verifier, and Release workflow no longer depend on unpublished x64/ARM64 per-architecture MSIX URLs, hashes, or local paths; they accept only the public all-in-one
.msixbundle. - The installer manifest retains x64 and ARM64 selection nodes, but the verifier requires both to reference the same bundle URL and SHA-256 and verifies that hash against the local bundle. GitHub and WinGet therefore use the same public installer payload.
- Official
winget validatewith WinGet 1.29.290 accepted the schema 1.12 four-file candidate; all 31 extensions, hash-tamper rejection, and the complete packaging policy passed. The follow-up MSIX identity preflight rejects theZiCode.ZiFile.Devdevelopment package before submission. Community-repository acceptance and signing remain open gates.
2026-08-31 — Default desktop shortcut discoverability
Section titled “2026-08-31 — Default desktop shortcut discoverability”- The default Iced desktop already handled
Ctrl+Ofor open,Ctrl+Nfor create, archive-pageCtrl+Afor select all,F1for help, andEscfor cancellation, but previously exposed no visible user reference. - The About pages in both the default Iced UI and accessible candidate now present all five shortcuts and their actions as a bilingual keycap list. A default-UI source regression binds the displayed combinations to the implemented keyboard map so one side cannot silently drift.
cargo fmt --all -- --check,cargo test -p zifile-desktop --all-targets --all-features --locked, and full-workspace Clippy pass, covering 32 shared desktop library tests, 37 default application tests, 38 accessible-candidate tests, and six 100,000-entry browser benchmarks. This code-level evidence does not replace real foreground keyboard traversal, Narrator, high-contrast, or visible-focus acceptance.
2026-08-31 — Create-password lifecycle closeout
Section titled “2026-08-31 — Create-password lifecycle closeout”- The default Iced UI and accessible candidate previously retained a create password in form state after the request had already entered execution or the in-memory queue, which was broader than the temporary-retention boundary described by the public privacy statement.
- Both UIs now clear the create-form password immediately only when submission is accepted. A full queue leaves the rejected input available for retry. Worker and queue snapshots continue to release their data on completion, clearing, or exit and never write it to settings or logs.
- New tests cover accepted clearing, rejected retention, and non-create isolation in both implementations. Archive decryption passwords remain scoped to the current archive session so later test and extract operations continue to work.
2026-08-31 — Post-completion output discovery
Section titled “2026-08-31 — Post-completion output discovery”- Both desktop status bars now expose a bilingual
Show outputaction: successful creation selects the generated archive in File Explorer, while successful extraction locates its destination directory. - The path comes only from a
CreateorExtractrequest snapshot and is exposed only for a correctly typed successful result. Starting the next job clears the old path; failures, cancellation, and Worker protocol mismatches cannot display a stale action. - Request-path and UI-wiring regressions were added to both implementations. The 32 shared desktop library tests, 39 default application tests, 40 accessible-candidate tests, and six 100,000-entry benchmarks pass.
2026-08-31 — Main-branch merge gate
Section titled “2026-08-31 — Main-branch merge gate”- PR #55 exposed an unprotected
main: requesting auto-merge caused GitHub to merge immediately without waiting for the running CI. The code already had complete local validation and remote checks continued afterward, but the process itself was not release-grade governance. mainnow requires a pull request, all seven CI checks against the latest branch, resolved conversations, and linear history. Administrators are also bound; force-pushes and branch deletion are disabled. Required approvals remain zero so a single-maintainer project cannot deadlock on a second account.- GitHub API readback confirms
strict=true,enforce_admins=true, all seven contexts,required_approving_review_count=0, enabled linear history and conversation resolution, and disabled force-pushes/deletion. PR #56 is the first live merge validation under the policy.
2026-08-31 — 0.1.5 release preparation
Section titled “2026-08-31 — 0.1.5 release preparation”- Create-source validation, all-in-one WinGet manifests, shortcut help, create-password lifecycle handling, and post-completion output discovery accumulated after 0.1.4 now form a useful patch-release boundary.
- The workspace, three internal dependency constraints, six workspace lock entries, and Astro documentation package are aligned at
0.1.5; the version gate confirms tagv0.1.5maps to MSIX0.1.5.0. CHANGELOG.mdnow follows the standard reverse order with an empty top[Unreleased], then 0.1.5 and older releases. Six 0.1.5 entries pass the tag-ready gate. Download documentation continues to name v0.1.4 until the new Release actually succeeds.
2026-08-31 — 0.1.5 release outcome
Section titled “2026-08-31 — 0.1.5 release outcome”- PR #57 merged after all seven normal quality gates and both x64/ARM64 reproducible double builds passed. Annotated tag
v0.1.5points exactly to merge commit8959f3d0042bf9ba29eed299a416bf952821b0c1. - Release workflow 33327132468 completed workspace tests, both architecture builds, the standalone x64 EXE smoke, ARM64 PE architecture audit, all-in-one MSIX Bundle, attestations, and public publication successfully.
- The non-draft, non-prerelease v0.1.5 Release exposes exactly
ZiFile-0.1.5.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; no DLL, JSON, YAML, SBOM, or provenance internals are public Release assets. - All four public files were downloaded again after publication. SHA-256 for the MSIX Bundle and both EXEs matches
SHA256SUMS.txtand the GitHub asset digests. This proves GitHub publication integrity, not trusted signing, WACK, Store, WinGet, or physical ARM64 execution.
2026-08-31 — Archive reload shortcut
Section titled “2026-08-31 — Archive reload shortcut”- Both desktop UIs already exposed a Reload button, but keyboard users had to traverse to it to refresh an open archive. The conventional file-manager
Ctrl+Rshortcut was neither handled nor discoverable. - The default Iced UI and accessible candidate now map exact
Ctrl+Rto the existing queued reload path. With no current or pending archive it remains a no-op and never guesses a path. The accessible Reload and Unlock controls exposearia-keyshortcuts="Control+R". - Bilingual About help and user documentation include the shortcut. Unit regressions in both UIs lock the keyboard map, exact modifiers, visible help, and assistive-technology metadata. Real foreground keyboard and Narrator revalidation remains an external gate.
2026-08-31 — Archive search shortcut
Section titled “2026-08-31 — Archive search shortcut”- Both desktop UIs now handle exact
Ctrl+F: with an archive loaded they return to the Archive page and focus its search field while preserving the current query; with no archive they do not intercept the shortcut. - The accessible candidate exposes
aria-keyshortcuts="Control+F"and a stable control identifier on the search input. Bilingual About help and desktop documentation describe the action. - Unit tests cover exact modifiers, the no-archive boundary, visible help, and semantic metadata. Real foreground focus movement and screen-reader revalidation remain external gates.
2026-08-31 — Close archive session
Section titled “2026-08-31 — Close archive session”- Both desktop headers now expose
Close archive, with exactCtrl+Wsupport. Closing returns home without exiting the application. - Closing releases the current archive password, metadata, selection, search, pagination, and folder-navigation state. The action is disabled during active work or queue handoff so a completion cannot write back into a session the user already closed.
- Bilingual About help and desktop documentation describe the action. Tests cover exact modifiers, the busy boundary, session cleanup, visible help, and
aria-keyshortcuts="Control+W". Real foreground keyboard and assistive-technology revalidation remain external gates.
2026-08-31 — One-click extraction to a named folder
Section titled “2026-08-31 — One-click extraction to a named folder”- Both desktop archive action bars now expose
Extract to named folder, extracting every entry beside the archive without opening a folder picker. - The action reuses the File Explorer
--extract-herecompound-extension rules:sample.zipmaps tosample/, whilebackup.tar.gzmaps tobackup/. Submission still uses the current conflict policy, bounded FIFO queue, isolated Worker, and completed-output discovery. - A default-UI unit test locks the actual Worker request’s archive path, destination, all-entry scope, and session-password forwarding; an accessible-candidate wiring regression locks its UI path. Real foreground button operation remains pending until the Computer Use host pipe is restored.
2026-08-31 — 0.1.6 release preparation
Section titled “2026-08-31 — 0.1.6 release preparation”- Archive reload and search shortcuts, explicit session closure, and one-click extraction to a matching folder have accumulated after
v0.1.5, forming a useful patch-release boundary. - The workspace, three internal dependency constraints, six workspace lock entries, and Astro documentation package are aligned at
0.1.6; its MSIX version maps to0.1.6.0. CHANGELOG.mdkeeps an empty top[Unreleased]section and moves four user-visible improvements into the0.1.6release section. Download guidance continues to identify the verified v0.1.5 Release until publication actually succeeds.
2026-08-31 — 0.1.6 release outcome
Section titled “2026-08-31 — 0.1.6 release outcome”- PR #63 merged after all seven normal quality gates passed. Annotated tag
v0.1.6points exactly to merge commitb19e8be2d3b5ae54a7659480ad8a9c90a617c646. - Release workflow #33334902669 completed SBOM generation, x64/ARM64 builds, a real startup smoke test for the standalone x64 EXE, ARM64 architecture audit, artifact attestations, the all-in-one MSIX bundle, and public publication. Signing was skipped under this regular unsigned-release policy.
- The non-draft, non-prerelease v0.1.6 Release exposes exactly
ZiFile-0.1.6.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; no DLL, JSON, YAML, or internal component is public. - Independent post-download SHA-256 values are
76ac635432d58325c1f1d48c721cf198e68a33734ac8e35ce173e4ddc7edd842for the MSIX bundle,2beae4ced17689689973485f3ac9b015c38befc1faebdadb1145025f8a8b738bfor the x64 EXE, and71f6854d15b85f0124bd2442f8f82239abddba3b9ab4930753dc9c982e6d3fb4for the ARM64 EXE. All three matchSHA256SUMS.txtand GitHub’s asset digests. - After PR #68 merged, the expanded single-file gate downloaded and revalidated that same public
zifile-windows-x64.exe: with no adjacent Worker in its temporary runtime directory, the EXE alone created a ZIP, listedhello.txt, extracted it, and byte-compared the result, reportinground_trip_verified=true. This strengthens functional evidence for the existing Release without changing its unsigned status.
2026-08-31 — Recent archives
Section titled “2026-08-31 — Recent archives”- Both desktop home pages now show recent archives. A path is recorded only after the Worker lists it successfully, so failed paths and passwords never enter settings. The list keeps eight entries, moves the newest to the front, and deduplicates Windows case and separator variants.
- Users can reopen an entry with one click, remove it individually, or clear the history. Controls are disabled while busy; removing history neither deletes files nor closes the active archive or mutates the operation queue.
- Settings retain their temporary-file flush/sync and atomic-replacement path. Archive paths use a bounded hexadecimal field encoding so line breaks and equals signs cannot inject configuration fields. Tests cover Unicode and delimiter round trips, malformed input, capacity, ordering, and Windows path identity; both UI targets compile and pass their unit suites.
- A privacy consistency audit updates the README, bilingual privacy policy, and desktop documentation to disclose the eight-path local limit, retention, per-item/all-history controls, and the fact that hexadecimal field encoding is not encryption.
2026-08-31 — Archive bulk selection actions
Section titled “2026-08-31 — Archive bulk selection actions”- Both archive pages now expose explicit
Select all,Select none, andInvert selectionactions instead of requiring users to infer clearing from a changing checkbox state. Bulk scope is every regular file in the archive, independent of folder, search, or pagination. - Exact
Ctrl+Iinversion joins the existingCtrl+Aselect-all path. Dioxus controls exposearia-keyshortcuts="Control+I"; bulk changes report the new count through the existing status region and retain IME composition protection. - A shared linear helper ignores directories and updates the set in place. Unit coverage uses a mixed file/directory archive, Criterion adds a half-selected 100,000-file inversion benchmark, and both UIs lock shortcut wiring and visible help.
2026-08-31 — Complete standalone EXE round-trip gate
Section titled “2026-08-31 — Complete standalone EXE round-trip gate”- The desktop EXE is confirmed to spawn its constrained isolated child from its own path with
--zifile-worker, so the public single-file download does not depend on an adjacentzifile-worker.exe. - The x64 Release smoke advances from reading an externally authored ZIP to using only that EXE to create a ZIP, list its entry, extract it, and byte-compare the source; the temporary directory explicitly rejects any adjacent Worker.
- ARM64 retains PE-architecture and no-adjacent-Worker audits on the x64 runner. Full execution remains a physical ARM64 gate rather than being overstated from a cross-architecture static check.
2026-08-31 — 0.1.7 release preparation
Section titled “2026-08-31 — 0.1.7 release preparation”- Since
v0.1.6, recent archives with privacy controls, explicit select-all/select-none/invert actions withCtrl+I, and a complete create-list-extract gate for the standalone x64 EXE form a useful patch-release boundary. - The workspace, three internal dependency constraints, six workspace lock entries, and Astro documentation package are aligned at
0.1.7; its MSIX version maps to0.1.7.0. CHANGELOG.mdretains an empty top[Unreleased]section and collects this stage’s user-facing and release-quality improvements under0.1.7. Download guidance continues to identify verified v0.1.6 until the new Release actually succeeds.
2026-08-31 — 0.1.8 release outcome
Section titled “2026-08-31 — 0.1.8 release outcome”- PR #85 merged at
9001928b3a9694af908a57baf3a137ea41e665f1; annotated tagv0.1.8points exactly to that commit. - Release workflow 33372674521 successfully completed SBOM, x64/ARM64 builds, the x64 standalone EXE create-list-extract smoke test, ARM64 architecture audit, the all-in-one MSIX bundle, artifact provenance, and publication.
- The non-draft, non-prerelease v0.1.8 Release
exposes exactly
ZiFile-0.1.8.0-windows.msixbundle,zifile-windows-x64.exe,zifile-windows-arm64.exe, andSHA256SUMS.txt; no DLL, JSON, YAML, or ZIP is public. - GitHub asset digests read back through the API are: MSIX
5c3deefe2d5a71946c65b2b35de1e550f17b7e7aa3b038e7705795083f215dbb, x64 EXEde74718b7accb0e4b10b07b289c74cf1630169fa3633bd34d077abc2f3688cfc, ARM64 EXEca7eb53d694080e8fdb642123ec6dfec670e5be7807ccc82d8fd485df2dada89, and checksums49985c1572f7b973c66b093023111a5a391f7949e65d50f0ae5dc248079b623c. - This remains an unsigned GitHub build; signing, WinGet community acceptance, Microsoft Store, WACK, physical ARM64, and full assistive-technology certification remain separate external gates.