Files
ForgeFlow/docs/RELEASE_NOTES_0.6.0.md
T
2026-07-25 05:59:07 +02:00

4.8 KiB

ForgeFlow 0.6.0

ForgeFlow 0.6.0 is a product-level reliability release for Git recovery, SSH / Unraid deployment truth, DockerMan integration, source updating and high-contrast ITWorx branding.

Git operations that recover themselves

  • Every mutating Git action is serialized per repository.
  • A Git lock error triggers a conservative stale-lock scan, a short grace period for very recent locks, safe removal and automatic retry when ForgeFlow can prove that no matching process is active.
  • The scanner resolves the actual Git directory and covers HEAD.lock, index.lock, ref locks and worktree locks while skipping Git object/LFS storage.
  • The Git tools page now provides repository-specific troubleshooting instead of generic terminal advice.
  • Available automated actions are selected from the actual branch state: fetch, fast-forward, push, origin repair and divergence recovery.
  • Divergence recovery creates a forgeflow/backup-<branch>-<timestamp> safety branch before resetting the current branch to upstream.

Deployment truth instead of stuck spinners

  • SSH / Unraid operations are reconciled with the live Git SHA, container state and health.

  • Startup deployment reconciliation converts an interrupted but successful deployment to success and refreshes repository cards immediately.

  • Stale operations are marked failed instead of remaining indefinitely in running.

  • Deployment cards provide Reconcile, Open Web UI and Repair DockerMan integration actions.

  • Background completion broadcasts update the renderer and trigger repository refresh.

  • A successful remote Compose run is marked terminal before the secondary Unraid inspection, so a slow refresh can no longer leave the UI stuck in deployment mode.

  • Startup and manual refresh reconcile every configured environment and suppress a new Deploy action when the exact healthy SHA is already live.

  • The Deployments page can repair all running containers that are missing DockerMan WebUI/icon metadata in one controlled batch.

DockerMan integration

  • ForgeFlow applies net.unraid.docker.managed=dockerman, net.unraid.docker.webui, net.unraid.docker.icon and net.unraid.docker.shell through a controlled Compose override.
  • WebUI labels use Unraid's [IP] and [PORT:<host-port>] placeholders.
  • Internal Compose project, service and image identities are lowercase-safe while the visible container name can remain Portfolio.
  • The built-in high-contrast ITWorx mark is the default DockerMan icon for new or migrated SSH profiles.
  • A user can instead select a local PNG, use an HTTP(S) PNG URL or disable the icon.
  • Built-in/uploaded PNGs are copied persistently to DockerMan's image storage under /boot/config/plugins/dockerMan/images.
  • ForgeFlow writes a persistent templates-user/my-<container>.xml fallback so WebUI and icon metadata remain available when label caching is unreliable.
  • Known DockerMan icon caches and the volatile metadata cache are invalidated after container recreation so changes can be re-read.

SSH and server-side safety

  • Unraid-to-Gitea access remains part of preflight before any deployment starts.
  • SFTP directory creation now distinguishes existing directories from permission and path errors instead of treating every generic SFTP failure as success.
  • Repository Compose files receive the same metadata and exact-SHA controls as generated Compose files.
  • Tracked server-side modifications continue to block deployment and rollback.

Source updater and publication

  • The PowerShell update helper starts directly with param(, without a UTF-8 BOM or stray leading character.
  • ForgeFlow waits for a structured started marker before closing the running application.
  • Update application performs backup, exact archive checksum validation, source replacement, lockfile-based npm ci when available and the complete quality gate.
  • Success, restart failure and rollback status are persisted and shown on the next launch.
  • Automatic restart launches the installed Electron executable directly, avoiding the unreliable detached npm start handoff.
  • The publishing script runs the quality gate, mirrors a clean source tree and verifies that Gitea reports the exact pushed release commit.

Branding

  • The title bar, setup flow, desktop icon and installer artwork use the newly supplied higher-contrast ITWorx.tech logo.
  • The cloud/check mark was recropped to remove wordmark fragments and remain legible at small icon sizes.

Verification

The release includes real Git integration coverage for large selections, staged deletions, failed pushes, HEAD.lock, object-store exclusion and backup-before-reset divergence recovery. It also covers DockerMan labels and XML fallback, built-in icon upload, cache invalidation, operation reconciliation, viewport-safe dialogs and updater lifecycle behavior.