Changelog
What changed in each release
Release notes for every Ark8 build, newest first. Older builds are no longer offered for download because they predate security fixes. Install the current release; it keeps itself up to date from then on.
- Download this release
Security update
This release fixes the issues found in a security audit of ARK8 and updates components that had published security advisories. Updating is recommended.
Updated components
- Remote desktop: FreeRDP 3.32.1 and OpenSSL 3.5.9.
- App updates: Sparkle 2.10.0.
Fixes
- SFTP: saving a file with sudo can't be redirected to a different file by a link on the server. Folders dragged out of SFTP unpack into a private folder first, and downloaded files are quarantined so macOS checks them before they open.
- SSH: host and user names are checked before they reach ssh, and a stored password is offered only to the host's own password prompt. PROD terminals never send a Vault password to a host whose key hasn't been verified.
- RDP: copying files from the remote computer to your Mac asks first, shared folders are per session, and clipboard sharing follows the session you're in. Fixes a possible crash in display resizing.
- Vault: a saved token is sent only to the Vault address and certificate authority it was saved for.
- Runbooks: secret inputs are masked in output, PROD shells and Docker steps go through the PROD check, and the webhook listener rejects replayed and oversized requests.
- Kubernetes: a kubeconfig that runs a sign-in program asks before running it.
- Source control: reading a repository can't run commands configured inside that repository.
- Web tabs keep each site separate and open only web links. Very long terminal and Telnet output can no longer exhaust memory.
- Audit: settings changes and PROD decisions are recorded. SIEM export trusts only the certificate authority you import for it.
- Team accounts: a suspended member loses their group roles, and a profile's email always comes from the sign-in account. Website sign-in errors no longer repeat text sent by the identity provider.
Secrets
- Change password straight from a secret's card in the grid.
Secrets — a credential manager on HashiCorp Vault
- A new Secrets section in the activity rail lists, searches and organises the secrets in your Vault KV v2 mount: folders, templates (Linux, Windows, Windows domain, network device, database, website, API key), tags and notes, laid out like a secret server.
- Values stay in Vault. Browsing never reads one. Show and Copy read a value once, ask for Touch ID when the secret signs in a PROD host, are recorded in Audit, and hide or clear themselves after 30 seconds.
- Create and edit in place, with a password generator and a strength check. Saving tags or a note writes only what you changed and won't overwrite a teammate's newer change.
- Link hosts to a secret and launch them from it. Hosts show their own OS or platform icon.
- Deleted secrets move to a Deleted list, where they can be restored until they're destroyed with the Vault CLI.
Sessions
- New Session: pick the Vault secret from a searchable list instead of typing its path. Secrets named like the host come first.
- Tunnels for a session that signs in with a Vault secret now use it, instead of asking for the password.
- RDP says why a connection failed: nothing answering (the host is off, on another address, or firewalled — no password was sent), or a rejected sign-in, naming the Vault secret when the password came from it.
- SSH and SFTP say when a Vault secret couldn't be read, instead of showing a bare password prompt.
- A This Mac shell and its output survive leaving the section, and local terminals open in your home folder.
- The built-in browser identifies as Safari, so management consoles stop calling it unsupported.
Vault
- Connect to a Vault whose certificate comes from a private certificate authority — import the CA in Settings ▸ Security.
vault kvlist, write, change and delete from inside ARK8, and clearer errors that say what to do rather than repeating the server's message.
Settings
- Settings is a section of the main window with a sidebar, and every route into it works.
- Clearer panes: one line per setting, labels on every field, and a terminal preview that shows what you'll actually get.
Security and licences
- A stored sudo password is never handed over without the device-owner check, on every Mac — including ones without Touch ID.
- The Security page no longer claims things the app doesn't do.
- Third-party marks ship unmodified, in their own colours, with the notices their licences require. The bundled terminal font is now one whose licence can be established.
ARK8 1.5.0 closes a security hole that was present in 1.4.0, fixes a bug that quit the app, and makes search find the things you actually search for.
Security — please update
The test build's behaviour could be switched on in the release build. ARK8 redirects its Activity Log and stubs out local authentication while its own test suite runs, so a test can never touch your real data or raise a system prompt. That switch was read from an environment variable, in code that shipped — so launching ARK8 with that variable set turned the whole test posture on in the app you use:
- "Require local authentication for protected environments" was bypassed. Every protected-environment prompt — terminal, tunnel, file browser — returned approved without asking anyone.
- The Activity Log wrote to a temporary directory instead of where you would look for it.
- Audit settings stopped persisting.
- SIEM export switched off, so a collector saw silence rather than events.
The hardened runtime does not prevent this; it filters only a specific set of variables, not arbitrary ones.
It is now compiled out entirely: outside a debug build the switch is a constant, and sixteen places that read it can no longer be reached. This was found by auditing the test suite rather than by anything failing — the app behaved correctly the whole time, which is what made it worth finding.
Closing the import wizard quit the app
Bulk Import SSH Sessions and the screenshot importer both closed the window rather than themselves, and closing the last window ends the app. They are presented as in-app panels rather than system sheets, and the dismiss action they used resolves to the window when there is no sheet. Both now close only themselves.
Jump hosts, verified end to end
Jump host support was tested against a real bastion and a target that could not be reached any other way: a direct connection to the target times out, the same connection through the bastion succeeds, and the target reports the bastion as its peer. The route is spelled out as one nested connection per hop rather than handed to a single option, because command-line options apply to the destination and not to the hops — so each bastion uses ARK8's own known-hosts file, its strict-host-key setting and its key, and a chain that loops or grows too long is refused rather than walked.
Still true, and worth stating plainly: the Files browser does NOT yet use the jump host. A session with a bastion opens its terminal through it and its Files tab directly. That is being fixed next.
Search
- Kubernetes objects are searchable. Pods, deployments, services, statefulsets, daemonsets and nodes, each showing its kind, namespace and context, opening its cluster on the right resource. Only what is already loaded — opening search never queries a cluster.
- Assistant conversations are searchable, so a diagnosis you worked out last week can be found by what it was about.
- Both of those were added earlier and were invisible: results were built, matched, and then discarded by a hardcoded list of section names that nobody had added them to. A result source now shows up as soon as it produces a result.
- Hosts and clusters draw their own marks in search results instead of one identical glyph per kind — the same distro, cloud and provider marks the sidebar uses.
- Search inside a chart. A chart's documentation can run to dozens of sections; there is now a find field that filters it by section, with a line saying how much of the page is showing.
- The two search palettes share one design, and the Kubernetes one no longer lists its entire catalogue before you have typed anything.
Interface
- Connection types in New Session are a list rather than a grid of tiles, and the vendor marks are shown as themselves rather than inside tinted boxes.
- The stepper sits above the connection diagram — the steps describe the form, the diagram shows what the form has built.
- Selection is neutral everywhere. A blue wash across a selected search result recoloured the text it was meant to point at.
- Quieter dividers in the Kubernetes inspector, which read as a ruled table in a dense property list.
- The Kubernetes breadcrumb's status dot and resource icon have their spacing back.
- The run route on a runbook's Review draws each machine with its own mark and says what that machine does, instead of repeating one name in two boxes joined by an arrow.
- The operator's own machine is shown with the Apple mark everywhere.
Kubernetes
- The cluster Overview says where its numbers come from. It named metrics-server unconditionally, including on clusters already running Prometheus — which ARK8 discovers for itself. It now names what it found, and offers to install metrics-server only when there is genuinely neither.
- That install is a two-step confirmation showing the exact command, refused outright on a production cluster, and audited. It offers the kubelet-TLS flag because without it metrics-server fails immediately on most self-built clusters, and explains what the flag gives up.
Elsewhere
- A kubeconfig opened in the file browser can be imported from there. Recognition is by parsing, not by filename, and a config whose credentials are named by path is flagged — those files are on the machine it came from, so the cluster would import and then fail to authenticate.
- Issues can be acknowledged, and un-acknowledged.
Under the hood
Credentials and folders have a model underneath them: a credential is a reference to wherever a secret already lives rather than another copy of it, folders nest arbitrarily, and inheritance fills what is unset without ever overwriting a value set explicitly. None of it is visible yet — this release carries the foundation and its tests, not the feature.
Interactive terminals are owned in one place now, so a shell is no longer left running when its view goes away, and ending one actually ends it.
ARK8 1.4.0 fixes four production paths that shipped broken, ends a leak that left an SSH process behind every time you left the Sessions section, and makes the Runbooks SSH pane and the Sessions tab show one shell instead of two.
SSH authentication
Four paths were fixed after behavioural testing against real SSH servers, not just a recompile.
- Public-key authentication worked everywhere except the terminal. The terminal disabled
PubkeyAuthenticationwhenever a session named no explicit key file, so a key-only host refused it while tunnels and host facts logged in fine. It also built a two-variable environment for its child, with noSSH_AUTH_SOCK— so an operator whose keys live only in the agent could not log in even once the flag was fixed. - Three more sites forced
PubkeyAuthentication=yes, the same bug in the other direction: a command-line-obeats~/.ssh/configeither way, so turning pubkey on overrode an operator who had turned it off for a host on purpose. - Four sites sent
-p 22for every session. That is not harmless:-pbeats aPortline in~/.ssh/config, so it silently overrode a per-host directive, and would have defeated config import before it shipped. - Protected-environment probes were not key-only despite three comments and an error message saying they were. They read the stored password and staged it to a temporary FIFO once per probe cycle, for connections that would never ask for it.
When "Force key-only authentication" is on and a host refuses, the terminal now explains itself. SSH's own line —
Permission denied (publickey,password)— lists what the server offered, not what ARK8 allowed, so it reads as a wrong password when none was ever sent. ARK8 says so under it, names the setting, and offers both ways out.Telnet
Telnet sessions were opening
/usr/bin/ssh. They now speak Telnet: a real RFC 854 implementation with option negotiation, terminal type and window size, verified against a live Telnet server.Protected environments
The local-authentication check for protected environments returned true unconditionally — the gate was decorative. It is a real LocalAuthentication prompt now, with a bounded cache, and it fails closed.
Terminals
- An SSH process was left behind every time you left Sessions. Releasing a terminal view does not end its child — the underlying library cancels its monitor and nothing else, so no signal ever reached the process. Ending one is explicit now, and deleting a session, changing its host or environment, and Reconnect all do it.
- The Runbooks SSH pane and the Sessions tab now share one shell. They were two terminals: two logins, two PTYs, two remote shells for one machine. Run a step in the pane and the output is in the Sessions tab, because it is the same terminal. Two tabs on one host are still two shells, deliberately.
- A runbook step used to disable death-detection for a terminal permanently. The step and the session registry shared one callback slot, and the step's cleanup cleared it — so after the first step against a host, that terminal's death went unnoticed, a dead session kept being handed out, and later steps wrote into a closed PTY. Silently, until the app was restarted.
- Ctrl+wheel zoom works again alongside Cmd+wheel.
Onboarding and inventory
- Import
~/.ssh/config. Host blocks,Include, patterns and the first-value-wins rule, feeding the importer you already have — so mapping, bulk defaults, validation and duplicate detection all work unchanged. A host behind aProxyJumpkeeps its alias so the route survives. Nothing from the file is ever executed. - Jump hosts. A session can name another saved session as its bastion. Chains are walked with a cycle guard, each hop spelled as its own invocation — a bare
ProxyJumpoption applies to the destination and not to the hops, so the bastion would have ignored ARK8's known-hosts file and its key. - Tags and manual ordering, neither of which touches the environment, so neither can change what ARK8 asks for before it connects.
- An import can raise a session's protection but never lower it. It used to rewrite the environment unconditionally, which could take the authentication gate off a production host.
Kubernetes
- Open a kubeconfig in the file browser and import it from there, instead of copying it out and pasting it back. Recognition is by parsing, not by filename. A config whose credentials are named by path is flagged: those files are on the machine it came from, so the cluster would import and then fail to authenticate.
- The cluster Overview was rebuilt: one row per problem, gauges that show only what was actually measured, and a note naming what needs metrics-server rather than drawing an empty dial.
Remote Desktop
- RDP tabs can be opened in a split view.
- An animated connection progress indicator that tracks the real stage.
- Remote Desktop is shown with the Windows mark throughout.
Elsewhere
- Drag files from a remote pane onto the local one.
- The New Session sheet: one searchable list of connection types, real vendor marks, and a diagram of the connection being described — including the bastion when there is one.
- Issues can be acknowledged, and un-acknowledged.
- A runbook's Review shows the route of the run, with each machine's own mark and what it does.
- A button in a Runbooks terminal to open that host in Sessions.
Under the hood
Around seventy regression tests were added for the bugs above. Several test suites that had been dismissed as flaky turned out to be order-dependent — a screenshot suite was seeding the shared sandbox, retired records outlived their suite, and a process-wide counter was being read as a local one. All four causes are fixed.
- Public-key authentication worked everywhere except the terminal. The terminal disabled
Ark8 1.3.0
Runbooks can now be handed to a GitHub runner. Monitoring's dashboard is gone and the numbers live beside the session they belong to. And a Mac that had never agreed to Apple's developer-tools licence no longer breaks Source Control.
Run a runbook on a GitHub runner
- Deploy to GitHub Runner… — right-click a runbook. Ark8 translates it into a GitHub Actions workflow for a self-hosted runner and writes it into the library, where Source Control shows it as a change to review, commit and push like any other. Nothing is uploaded and no token is needed.
- Run on GitHub Runner… starts that workflow and follows it to the end, then says how it went with a link to the run.
- Your hosts, not the runner's. A Bash step is sent to each host the runbook targets, over SSH, one step per host — so a failure in the Actions log names the machine. The host keys you have already accepted in Ark8 travel with the workflow, so the runner inherits the trust decision you made rather than making its own.
- Secrets are named, never sent. A step that uses a secret becomes a reference to one in your repository's settings, and Ark8 tells you which to create. Values stay on this Mac.
- It refuses what it cannot do faithfully, by name and with the reason: a step waiting on a confirmation nobody is there to give, Terraform and Ansible steps (they run from this Mac against files in the runbook's folder), a step whose body is a file, a Kubernetes target, and a host with no key file. A refusal leaves no half-written workflow behind.
Monitoring
- The Monitoring dashboard has been retired. A host's CPU, memory, disk and uptime are in its own panel beside the session — which is where they were being read anyway — and that panel now keeps refreshing on its own while it is open.
- Issues, Health Check, the Kubernetes views and History are unchanged.
Fixed
- Source Control no longer asks you to agree to an Xcode licence. On a Mac where Apple's developer tools are installed but unlicensed — most often after an Xcode update —
/usr/bin/gitrefuses every command, and Ark8 passed Apple's paragraph straight through, under buttons that could not have worked. Ark8 now looks for a Git that actually runs (Homebrew, MacPorts, the git-scm installer, Xcode's own, the command line tools), says in its own words what is wrong if it cannot find one, and offers Check Again so you do not have to restart the app after fixing it. - The same trap elsewhere: Ark8 no longer runs Apple's
python3shim in a way that could raise the "Install command line developer tools" panel out of nowhere.
Design
- STAGING is gold. It used to be a blue almost identical to Ark8's own accent, so the badge that tells you where a session lives looked like part of the app's furniture. The new colour is deliberately clear of every yellow already in use for warnings. Places that only ever said "staging" as plain text — the Activity Log, the Runbooks audit trail, a bookmarks-bar folder — now carry the colour too.
- New Schedule was rebuilt: one spacing rhythm instead of nine, WHEN grouped into the rule, what it is read against, and when it will actually run — with the next run dates set as an answer rather than a footnote.
Ark8 1.2.0
The largest release so far. Runbooks became a system you can schedule, approve and keep in Git; the Kubernetes and Source Control screens were rebuilt; and a pass over security and performance went through the whole app.
Runbooks
- A library, not a list. Runbooks live in folders under Library, open as editor tabs, and an untitled runbook is a tab like any other — ⌘N starts one, closing it takes you back to the welcome window.
- Schedules. Run once, on chosen days, monthly, or by cron — in any time zone, between two dates. A schedule that cannot run says so while you are still looking at it, instead of skipping silently at three in the morning.
- Calendars. Maintenance windows and change freezes that schedules respect. A freeze refuses the runbook whoever asks — including another runbook that calls it.
- Approvals. A runbook can ask for one; an unattended run parks until someone approves it, and the approval is bound to the runbook and the targets it was approved for.
- Composition. A step can run another runbook.
- Triggers and notifications. A webhook can start a run (Settings › Triggers); a run can tell you on this Mac, in Slack, or through a webhook of your own (Settings › Notifications).
- PowerShell. Found and versioned, parameters passed as typed arguments, scripts syntax-checked before dispatch, output recorded.
- Parameters. Validated, quoted for the language they land in, and enforced by the executor rather than by the form. WILL RUN shows the script with its parameters substituted, before anything runs.
- Timeouts, retries and script files do what the step says they do. A time limit you chose is honoured by SSH terminal steps and stops them.
- Overlap. A runbook already running can refuse a second run, queue it, or run alongside — your choice, per runbook.
- Runners. Every run records which machine ran each step and how that machine was doing, in both the Review and the History.
- History. Every execution, with a detail inspector, the hosts it touched, and where in Git its runbook came from.
- Production and archives. An archived runbook does not run, and "block production" blocks production.
Source Control
- The runbooks library is one Git repository, drawn the way VS Code draws source control: a panel with the changes grouped by runbook, plain words instead of letters, and the pane beside it showing a diff side by side.
- Commit asks first, in a window listing exactly what will be recorded. Fetch, Pull and Push are in plain sight and each asks before it runs.
- Branches, remotes and your own Git identity, without leaving the app.
- A runbook you deleted keeps its name in the changes list — read back from the last commit — so you are never asked to commit a folder id. Commit messages are suggested from what actually changed.
- With a lot of changes the list shows one line per runbook and opens the files you ask for, instead of repeating the panel beside it.
Kubernetes
- The cluster Overview was rebuilt: what needs attention first, in its own card, with the cluster's own message and a button that opens the object; then the counts; then events and restarting workloads side by side. Events are one line per object and reason with a count and a last-seen, rather than a wall of kubelet sentences.
- Control + scroll wheel over a table zooms its rows, and now keeps up with the wheel instead of rebuilding the table on every notch.
- Table text is larger throughout.
- A cluster that runs on this Mac (minikube, kind, Docker Desktop, OrbStack) files itself under LOCAL until you move it somewhere else, and stays where you put it.
Sessions and Terminal
- Full Screen for the terminal: every panel hides, one way back.
- A window-level status bar that says what the section it belongs to is doing.
- Double-clicking the rail folds the panel. Files (SFTP) is offered only for hosts that can be reached.
- A tab's icon says which operating system — and a platform above it wins, so a Proxmox VE host reads as Proxmox rather than the Debian underneath. The badge beside it, not the icon, carries the environment colour.
- When a host-key change is something Ark8 cannot safely fix itself, the terminal offers the exact command to run.
Security
- RDP never negotiates the legacy Standard RDP Security layer.
- Web tabs no longer share one cookie jar, and continuing past an obsolete TLS version is the operator's call, made once, per host.
- SSH host-key trust, ControlMaster sockets and loopback binds were tightened; a stored sudo password answers the prompt and is never typed onto the screen, and never on a host the session cannot first verify.
- SFTP hardening for hop targets, file names and privileged saves.
- What leaves the machine — notifications, webhooks, SIEM export — is allow-listed and redacted, and the record says what was sent.
Performance
- 44% less main-thread work per interaction, measured as main-thread CPU rather than wall clock, across opening tabs, switching sessions, the title-bar tab strip, editing a session, and the Kubernetes tables. Row zoom went from 495 ms to 52 ms per gesture.
Design
- A real elevation step between surfaces, one type scale and one spacing scale across History, Review, Settings and the Runbooks panes, and landing panes that line up with their own toolbars.
- With nothing open, Sessions shows Ark8's mark, large and grey, instead of an empty pane.
- Git change markers in the library tree, as VS Code's Explorer draws them.
Fixed
- The app no longer crashes when a run finishes with "Tell me on this Mac" turned on.
- Import Scripts in the title bar opens the file picker.
- Opening Schedules, Templates or Calendars no longer grows the window past the screen.
- A half-filled New Schedule survives a trip to the Library and back.
- Runbooks hidden by an earlier version come back.
Ark8 1.1.7
Runbooks
- While you drag the bottom panel during a run, the Output tab holds new output and shows it, in order, when you pause or let go, instead of redrawing on every line.
- Letting go of the divider at a new height does much less work at once on the Output, Audit and Timeline tabs.
- The SSH tab's terminal repaints once after the drag instead of during it.
- The Explorer's Terraform Command menu shows an icon for each command.
Ark8 1.1.6
Host keys
- When ssh refuses a host whose key changed, the terminal shows a bar with Remove old key and Remove & reconnect (or retry). It runs ssh-keygen -R on the machine where ssh ran, including an ssh you typed inside a session. PROD and STAGING sessions ask you to confirm first.
- The session badge and the host summary now judge by the known_hosts file ssh actually reads, so a host ssh accepts is no longer flagged. The summary card is shorter and shows the full command.
Runbooks
- The official Terraform logo everywhere Terraform appears: pills, tabs, pipeline cards, the Actions section, the status bar and more.
- The pipeline actions menus now show an icon for each action.
- Dragging the bottom panel no longer stalls at the start of a drag on the Audit and SSH tabs.
Tunnels
- The New Tunnel form is back to its previous design.
Ark8 1.1.5
Smoother
- The Sessions sidebar with hundreds of hosts: selecting, filtering and collapsing groups respond right away, and switching sections is several times faster. Hosts are checked as they scroll into view.
- SSH terminals use less CPU while streaming output, and switching tabs during heavy output is about twice as fast.
- Ark8 uses less CPU while idle.
Runbooks
- The Explorer always shows the same run as the Pipeline tab, with a status line beside the steps while it runs.
Fixes
- Opening an SSH tab no longer prints the password prompt a couple of characters per line.
- The empty title bar next to runbook tabs moves the window again.
- Issues: the "N mins ago" label keeps updating.
Ark8 1.1.4
Smoother everywhere
- The Sessions sidebar stays responsive with hundreds of hosts: filtering, selecting and collapsing groups are several times faster, and connection checks no longer freeze the app.
- History and Issues search, filter and update without lag, and the activity log loads in the background at launch.
- Kubernetes: large clusters stay responsive while pods change, and one cluster's updates no longer redraw another's workspace.
- SSH terminals stay responsive while streaming lots of output.
- RDP sessions no longer redraw the side panel on every frame.
Runbooks
- The Actions section under Targets follows the file you're editing, with calmer buttons and more room for your targets.
- Explorer step rows show the run status inline: Succeeded, Running, Queued, Failed.
Fixes
- History and Issues keep the Subject column readable on smaller windows.
- Session icons update right away after changing a group colour.
Ark8 1.1.3
Runbooks feel fast
- Clicking targets, switching steps and tabs, dragging panels and resizing the window no longer stall the workspace.
- Run output streams smoothly, even for long runs.
Actions next to your targets
- Init, Plan, Apply, Destroy and Run pipeline now live in an Actions section at the bottom of the Targets panel. Close the panel and they return to the bar under the editor.
Fixes
- The highlighted editor tab always matches the file that's open.
- The unsaved-changes dot comes back when you edit a step after saving.
- Connecting to a Kubernetes cluster no longer freezes the app, and unreachable clusters retry with a back-off instead of constantly.
- The code editor uses the system font.
- The right-hand panel starts closed.
What's new in Ark8 1.1.2
Docker engines. Docker is now a connection type in New Session. Connect to Docker Desktop on this Mac, to a remote host over SSH, or to a remote engine over TCP with TLS. Browse its containers, start, stop and restart them, open a shell in one, and follow its logs. The SSH path runs over Ark8's own SSH connection, so the host key you pinned is checked every time. Docker's official logo is used wherever Ark8 refers to Docker.
Rebuilt-host detection. A server can come back at the same address with a different SSH host key, which is what happens when infrastructure is destroyed and recreated. Ark8 now flags the session and shows the pinned and the presented fingerprints side by side. It also tells you what its own records say about why: a Terraform destroy or replacement at that address, or an outage it watched. One click removes the stale key from Ark8's own known_hosts. An unexplained change is flagged as suspicious, and Ark8 always asks before removing anything.
SSH keys. A session can sign in with a private key file. Ark8 passes that key, and only that key, to every SSH and SCP connection it makes for the session. A key protected by a passphrase is declined cleanly instead of hanging on a prompt.
Runbooks
- PowerShell steps run, on Windows hosts over OpenSSH, on Linux and macOS hosts with PowerShell 7, and on this Mac.
- When a step fails before its command runs, the run log now says why. Before, it showed a red ✕ over an empty log.
- A run whose Terraform only runs init, validate, plan or output no longer runs the playbooks that configure its hosts. Those steps are skipped with the reason and with how to run them. Previously they ran against hosts that did not exist and failed the whole run.
- Runbook runs appear in the Activity Log.
- The Targets panel no longer stalls on every click.
Terraform
- Ark8 finds a Terraform directory on a remote host by itself, and waits for you to finish signing in over SSH before looking.
- A lock-file mismatch on plan, apply or destroy is now explained: which provider, which versions, and whether the fix upgrades or downgrades it.
- A plan that fails no longer reports "no changes".
- Destroying now asks you to type the name of the directory being destroyed.
Shraga
- Conversations are kept, and listed in the sidebar.
- Fixed a crash when sending a message.
- Larger, easier-to-read chat text.
Everything else
- A redesigned New Session sheet.
- New app icon.
- Google and Microsoft sign-in buttons, with a new sign-in backdrop.
- The runbook status bar, the Run button and Change Review agree on which steps will run.
- Monospaced type is gone from the interface, including the code editor. Only the terminal uses it.
No notes were published with this release.
No notes were published with this release.
No notes were published with this release.