# v2026.10.7

Addresses as you wrote them, and a Runs page that keeps up

Hosts in connections keep the form you typed. The Runs page updates as runs finish.

## What changed

- Runs have `firstStartedAt`, when a worker first started them. `durationMs` counts from it, so time in line isn’t run time. See [Get a run](https://docs.gorunner.io/api/runs/get-run).
- Partner run events carry `firstStartedAt` too. See [Notifications](https://docs.gorunner.io/embed/notifications).
- A refused address names the host as you wrote it. See [Outbound access](https://docs.gorunner.io/self-host/outbound-access).

## When you update

GoRunner’s image is private for now. With Docker, [sign in to the registry](https://docs.gorunner.io/self-host/install-docker#sign-in-to-the-registry) first. On Kubernetes, [sign Helm in and give the cluster its pull Secret](https://docs.gorunner.io/self-host/install-kubernetes#make-a-namespace). See [Update](https://docs.gorunner.io/self-host/update) for the whole procedure, or [Install with Docker](https://docs.gorunner.io/self-host/install-docker) and [Install on Kubernetes](https://docs.gorunner.io/self-host/install-kubernetes) to install this version anew.

**Docker**

```bash
# Check the image first: its Digest must be sha256:21902f9c5f5b52761aed5584e9c079914ebf39b63965269e264be887a5ba68ab
docker buildx imagetools inspect ghcr.io/ralve-org/gorunner-selfhost:v2026.10.7

# Update
./deploy.sh v2026.10.7
```

**Kubernetes**

```bash
helm upgrade gorunner oci://ghcr.io/ralve-org/charts/gorunner --version 2026.10.7 -f values.yaml
```

Source: https://docs.gorunner.io/changelog/v2026.10.7
