-
-
1.8.5Release: Squid Tentacle v1.8.5693135ec · ·
1.8.5 - Harden in-flight script ledger: bounded lock stripes + retried ensure-row (#386) - Add Calamari script wall-clock timeout; localize K8s namespace resolution out of the generic render path (#387) - Add crash-resume re-attach integration coverage for the resume-by-ticket wiring (#388)
-
1.8.4Release: Squid Tentacle v1.8.4cd044da4 · ·
Squid 1.8.4 Resume in-flight scripts by ticket — a server crash mid-deployment re-attaches to the still-running agent script instead of double-dispatching. Deployment capability enforcement (off/warn/strict, default warn) on a target plan unified as the single source of truth for both preview and execution, so the machines a preview reports as matched are exactly the machines the deployment runs on.
-
1.8.3Release: Squid Tentacle v1.8.3d79abd54 · ·
Squid 1.8.3 Multi-shell Calamari (PowerShell + Python runners), .properties/.ini plus YAML/XML structured-config formats, .7z package extraction, multi-shell convention hooks (PreDeploy/PostDeploy/DeployFailed), and environment rollback (deployment-journal target resolver + rollback command).
-
1.8.2Release: Squid Tentacle v1.8.289268bb9 · ·
1.8.2 — Calamari G1.x rewriter pipeline + multi-format + multi-shell + structured outcomes
-
1.8.1Release: Squid Tentacle v1.8.122ce1aed · ·
Squid 1.8.1 — 1.8.0 hardening review followups Post-merge self-audit of the 1.8.0 Upgrade Hardening initiative surfaced one cosmetic bug and three test-coverage gaps that wouldn't have caught a future regression. This release addresses all four in PR #362. Bug fix (H4) — Clock-skew Math.Max(0, ...) guard for `elapsed` in upgrade-lock contention message. Pre-fix, two server pods disagreeing on UTC (NTP slew, fresh-pod startup) showed the operator "~-3599s ago" cosmetically; dispatch itself worked correctly. Test gap (H7) — CapabilityKeys.Role.* constant pinning added to CapabilityKeysConstantsTests (matching Shell / Bin / Privilege pattern). Drift in role:iis / role:docker / role:nginx / role:systemd literals now surfaces at build time. Test gap (H7) — TentacleHealthCheckStrategy cache-population test with installedRoles in metadata. Pins the read-side wire contract between agent capability emission and server cache write. Test gap (H7) — MachineRuntimeCapabilitiesPersistence JSON shape tests pin installedRoles serialisation, deserialisation, AND the 1.8.0 → 1.8.1 backward-compat path (blobs without installedRoles field deserialise to null). 5603/5603 unit suite green (+7 net new vs 1.8.0). No operator-visible behaviour change beyond the cosmetic contention message fix.
-
1.8.0Release: Squid Tentacle v1.8.0b57e6c89 · ·
Squid 1.8.0 — Upgrade Hardening initiative 8 PRs (H1-H8) closing every link in the 1.7.x operator-facing failure chain discovered during the Windows IIS deploy field test. H1 (#354) — UpgradeEligibilityReason codes + cold-cache NoOsDetected + OS-aware registry-unreachable messages. Windows operators no longer see misleading "Docker Hub unreachable" hints. H2 (#355) — Capability cache persisted to machine.runtime_capabilities_json. Server pod restart no longer wipes the cache. H3 (#356) — Active health-check returns structured ManualHealthCheckResult with fresh AgentVersion/Os + structured ErrorCode. H4 (#357) — Upgrade-lock contention message enriched with dispatchedAt + targetVersion + expected-remaining time. H5 (#358) — LinuxTentacleUpgradeStrategy strict-Linux-only; UpgradeAsync cold-cache guard. Direct API can no longer bypass H1. H6 (#359) — MachineUpgradeStatus.RolledBack distinct from Failed. Operators see "safely restored to baseline" instead of "broken". H7 (#360) — role:* capability slots. IIS deploy to non-IIS machine fails at plan-time with actionable hint, not at runtime with "Import-Module WebAdministration: module not found". H8 (#361) — Composition regression-guard tests pinning the cumulative H1-H7 behaviour. 11 new tests; 5596/5596 total unit suite green; +79 net new tests across the initiative. Operator-facing impact: every failure mode encountered in the 1.7.x chain is now structurally impossible. Cross-OS upgrade is uniform; failed upgrades self-recover via rollback (.bak / apt-snapshot); plan-time validation catches missing target capabilities before any wasted dispatch. -
1.7.9Release: Squid Tentacle v1.7.9c279d2e8 · ·
Squid 1.7.9 Bug fix: Skip Calamari for PowerShell scripts (was crashing with FileNotFoundException). Tentacle's StartProcess routed PowerShell + variables.json through the Calamari child process, but Calamari has no PowerShell pipeline: WriteBootstrappedBashScriptStep does File.ReadAllText("script.sh") and the CLI is hardcoded to --script=script.sh. Result on every Windows IIS deploy: FileNotFoundException → Calamari child died → state file stuck at Progress=Running → server's GetStatus orphan-detection returned Complete + UnknownResult (-1). Operator saw "Unknown result (ticket or process not found) (exit code -1)". Fix: IsCalamariCompatible(syntax) returns true ONLY for Bash. PowerShell scripts now route through StartViaLauncher, which picks the right launcher (pwsh-Core if installed, Windows PowerShell 5.1 fallback per 1.7.8's PR #352). Safe because all server-side PowerShell builders already inline variables into the rendered script body — Calamari's bootstrap preamble was adding zero value on top of that. -
1.7.8Release: Squid Tentacle v1.7.87de43334 · ·
Squid 1.7.8 Bug fix: Fall back to Windows PowerShell when pwsh-Core not installed. ProcessLauncherFactory unconditionally defaulted to pwsh (PowerShell 7 Core) on Windows, but pwsh is OPTIONAL — Microsoft doesn't bundle it with the OS. Every stock Windows tentacle without PS7 installed crashed with Win32Exception (2) "system cannot find the file specified" the moment any PowerShell script dispatched (upgrade, deployment, health check). Fix: probe pwsh.exe availability and auto-fall-back to the always-present OS-bundled PowerShell.exe 5.1 when absent. Operator opt-in via SQUID_TENTACLE_USE_WINDOWS_POWERSHELL=true still wins over the probe.
-
-
-
-
-
-
-
-
-
-
-