# Changelog ## 0.9.0 - 2026-07-27 - replaced Git-checkout-only discovery with a complete Unraid workload inventory, including stopped, Compose, DockerMan and standalone containers; - added persistent manual workload linking with repository, deployment mode, Compose project, files and service identity; - made checksum-verified exact-commit push bundles the default for new SSH/Unraid profiles, so Unraid no longer needs a Gitea key; - separated desktop-to-Unraid authentication, Docker/Compose capabilities and optional Unraid-to-Gitea access in diagnostics; - preserved adopted DockerMan templates and disabled aggressive recreate/orphan flags by default; - promoted deployment state only after Compose validation and service verification, with atomic manifests, rollback restoration and live lock ownership; - retained server-side Git and monitor-only modes for explicit use cases. ## 0.8.9 - 2026-07-26 - added a per-repository Git Validator with a weighted assurance score and evidence-backed checks; - validates Gitea branch governance, repository identity, upstream tracking, effective author identity, safe synchronization defaults, README and gitignore hygiene, tracked secret-shaped files and oversized files; - provides audited one-click repairs for origin alignment and repository-local safety configuration; - offers confirmed repairs for default-branch protection and a reviewable uncommitted `.gitignore`; - introduced a premium, theme-aware and container-responsive Validator workspace with safe-fix batching. ## 0.8.8 - 2026-07-26 - fixed binary update downloads on Gitea servers that require release-scoped attachment routes; - sends both the immutable release ID and attachment ID when downloading update assets; - preserves strict same-origin token handling and SHA-256 verification. ## 0.8.7 - 2026-07-26 - automatically inventories running workloads across configured Unraid servers; - links server Git checkouts to Gitea repositories through exact normalized origins and strong container evidence; - supports image-only discovery through OCI and ForgeFlow repository/commit labels; - adopts uniquely matched workloads into Deployments without requiring a prior ForgeFlow release operation; - verifies every SSH deployment refresh against the current full Gitea branch SHA; - treats matching commits as in order only while the container is running and healthy, and rejects ambiguous matches. ## 0.8.6 - 2026-07-26 - added contextual animated code maps to unused diff-canvas space; - made illustrations respond to file type, diff size and pointer depth without obscuring code; - enriched changed-file rows with clearer state chips, active hierarchy and premium interaction feedback; - added responsive and reduced-motion safeguards for focused, accessible workspaces. ## 0.8.5 - 2026-07-26 - fixed packaged update downloads when Gitea reports an asset URL with a different public origin; - downloads release assets by immutable Gitea asset ID on the configured trusted origin; - retains strict token isolation and never follows authenticated downloads to another host. ## 0.8.4 - 2026-07-26 - added interactive animated release-flow illustrations to high-value project surfaces; - introduced cursor-responsive depth, travelling deployment signals and living status nodes; - added compact repository illustration watermarks without reducing usable header space; - made every illustration theme-aware, responsive, semantic and reduced-motion safe. ## 0.8.3 - 2026-07-26 - enriched light mode with layered color, depth and stronger navigation hierarchy; - made every deployment visually identifiable by container, repository, environment and stable accent color; - added live-versus-Gitea commit proof directly to deployment cards; - reconciled stale failed operations against healthy live Unraid and current Gitea truth. ## 0.8.2 - 2026-07-26 - enabled checksum-verified binary auto-update for installed and portable Windows builds; - added an external binary updater that waits for ForgeFlow to close, applies the verified release and restarts the application; - added reproducible SHA-256 sidecars and authenticated Gitea release publishing; - made packaged update checks fail clearly when a matching published release asset is incomplete. ## 0.8.1 - 2026-07-26 - introduced a refined premium visual system with clearer hierarchy, richer depth, responsive density and reduced-motion support; - added a live open pull-request overview per repository instead of only pull-request creation; - added a safe installed-connection self-test for DPAPI, Gitea identity, repository access and Actions access; - verified the existing dedicated Unraid Ed25519 key and strict host fingerprint against the configured server; - expanded compact-window visual acceptance at 1120 × 720 and the dashboard check at 1440 × 900. ## 0.8.0 - 2026-07-25 - Added partial-hunk staging, conflict guidance, protected-branch awareness and Gitea pull requests. - Added configurable editor/terminal integration, tray, notifications and login startup. - Added deployment policies, release notes, append-only audit export and encrypted configuration backup/restore. - Added a guarded end-to-end environment acceptance harness. ## 0.7.0 - Added server-authoritative adoption of existing Unraid/Compose deployments. - Added Docker, Compose, Git and DockerMan discovery with provenance and complete runtime metadata. - Added a general one-click troubleshooter for common Git and deployment failures. - Added safe abort recovery for interrupted Git operations and protected divergence repair. - Fixed Unraid WebUI placeholder validation, serialized config saves, malformed config recovery and CRLF manifest verification. ## 0.6.1 - Fixed Windows PowerShell 5.1 updater status replacement and STARTED handshake. - Added helper-log diagnostics and update-request identity validation. ## 0.6.0 - Added complete repository troubleshooting for stale `HEAD.lock`, `index.lock`, ref locks and diverged branches. - Added safe one-click fetch, fast-forward, push and backup-then-reset synchronization repairs. - Reconciled interrupted SSH deployments from live Unraid state at startup and on demand. - Added DockerMan WebUI, icon and shell metadata plus a persistent XML template fallback for repository and generated Compose deployments. - Added a built-in high-contrast ITWorx icon, local PNG upload, DockerMan image storage and metadata/icon-cache invalidation. - Enforced lowercase internal Compose identities while preserving visible names such as `Portfolio`. - Hardened source updater startup, status reporting, rollback and restart behavior. - Completed successful SSH operations before post-deployment reconciliation to prevent stale deployment mode. - Added startup server-truth refresh, batch DockerMan repair and healthy-live-SHA deploy suppression. - Added lockfile-aware updater installs and direct Electron restart. - Expanded automated coverage to Git lock, divergence, DockerMan, deployment reconciliation and updater regressions. ## 0.5.4 - Added exact Unraid-to-Gitea clone preflight. - Made SSH deployments background operations with automatic polling. - Preserved configured Compose casing such as Portfolio. - Guaranteed failed remote operations become terminal failed records. ## 0.5.3 - Confirmed updater handoff before application exit. - Persistent lifecycle state and startup result notification. - Reliable success/rollback restart tracking. ## 0.5.2 - Made release verification and built-in update validation independent of Windows Bash shims. - Added portable structural safety validation for the Unraid deployment script. - Kept GNU Bash syntax validation on Linux and other non-Windows systems. ## 0.5.1 - Fixed Windows publication quality gate by validating Bash syntax through standard input. - Added regression coverage for path-independent shell validation. ## 0.5.0 - Viewport-safe scrollable dialogs with persistent actions. - NUL-delimited Git pathspec transport for large selections. - Per-repository mutation serialization and stale lock repair. - Bulk normalization of legacy Gitea origins. - Expanded regression coverage. - Correctly stage deleted and renamed paths. - Preserve and surface local commits when push fails. - Always refresh the actual Git state after operation errors. - Add end-to-end Git regression coverage for deletion and push recovery. ## 0.4.3 - Removed the platform-dependent Unraid inspection integration test that mixed Windows temporary paths with remote Linux semantics. - Added deterministic SSH inspection contract coverage. - Released as one complete clean source archive. ## 0.4.2 - Replaced nested SSH Bash quoting with a single-line base64 transport. - Fixed Windows Git Bash inspection failures caused by multiline quote parsing. - Made temporary test cleanup resilient to short-lived Windows directory locks. - Corrected remote status-file base64 invocation. - Added Windows-focused regression coverage and a recovery updater from 0.4.0/0.4.1. ## 0.4.1 - Fixed Windows `bash -n` verification for ForgeFlow paths such as `C:\Projects\ForgeFlow`. - Bash now receives a relative POSIX script path with the project root supplied through `cwd`. - Added cross-platform regression tests, including a project root containing spaces. ## 0.4.0 - Made the changed-file panel independently scrollable for large working trees. - Added explicit commit-message readiness and clarified that commit actions stage selected files automatically. - Integrated the supplied ITWorx.tech logo into the title bar, setup and desktop icons. - Added a private-Gitea source updater pinned to an exact update-branch commit. - Added secure SSH / Unraid server profiles with host-key pinning. - Added exact-SHA deployment to Git-backed `/mnt/user/appdata/` folders. - Added existing deployment inspection, tracked-change blocking, origin alignment and nested-Git warnings. - Added repository Compose adoption and basic generated Compose for simple Dockerfile applications. - Added exact previous-SHA rollback with repeat health verification. - Added the LumaOps server-versus-Gitea migration audit. - Expanded the automated suite to 59 passing tests. ## 0.3.2 - Clone from Gitea now uses the first configured project root automatically. - Repository-named target folders are created without reopening the folder picker. - Added an explicit Choose another location action for exceptional clones. - Existing matching checkouts are linked instead of cloned again. - Different repositories, non-empty ordinary folders and file conflicts are blocked. - Clone identity and destination are resolved again in the privileged backend. - Added a Windows source-update script and upgrade guide. - Expanded the automated suite from 39 to 45 passing tests. ## 0.3.1 - Fixed the Windows environment doctor failing with `spawn npm ENOENT` after a successful npm installation. - Added safe npm invocation through `npm_execpath` with a `cmd.exe` fallback. - Added Windows and cross-platform regression tests for npm discovery. - Removed the duplicated hard-coded doctor version. ## 0.1.0 — Functional MVP foundation - Reworked the Stitch static screens into one coherent desktop application. - Added secure Electron main/preload/renderer architecture. - Added real Gitea connection and repository loading. - Added bounded local Git repository discovery and remote matching. - Added real Git status, diff, staging, commit, push, fetch and fast-forward pull. - Added deployment profiles and exact-SHA Gitea Actions dispatch. - Added deployment confirmation, operation history and healthcheck foundation. - Added dark/light themes, onboarding and browser demo. - Added unit tests and a real temporary Git remote integration test. - Added safe workflow and server deployment examples. ## 0.4.5 - Fixed commit/push after manually staging a deleted file. - Already staged deletions and renames are no longer re-added as missing pathspecs. - Added a real bare-remote regression test for `silent-zebra-glow.zip`.