Illustration contrasting unpinned latest versions differing per machine with pinned versions identical across development, staging and production

Software and Dependency Setup

Back to Server Setup · Operating System and Stack · Dependency Checker · Service Offerings

Runtimes, databases, and application stacks installed at pinned, tested versions rather than “latest” and hoping for the best. The version numbers were chosen under operating system and stack; this step is about making those choices stick, on every machine, every time.

1. Why “Latest” Is a Bug

Installing the latest version means the version you get depends on the day you installed. Three consequences follow, and all of them cost time later:

Pinning does not mean freezing. It means the version changes when someone decides it should, having read what changed — which is the difference between an upgrade and an incident.

2. Pin at Every Layer

3. Where the Software Comes From

Supply chain sounds abstract until you trace what a build actually pulls in. Practical measures:

4. Configuration Is Part of the Install

A database at its shipped defaults is configured for an unknown machine, and the defaults are usually conservative to the point of being wrong for a dedicated server. The install is finished when the configuration matches the hardware and the workload — memory allocation, connection limits, worker counts — which is the subject of performance tuning.

Two rules that save a great deal of trouble: configuration lives in version control, not only on the machine; and secrets do not live in it. Credentials belong in a secret store or an environment injected at runtime, never committed alongside the configuration that references them.

5. Plan the Upgrade While Installing

Pinned versions are only safe if something moves them. Before handover we establish who watches for security advisories affecting these components, how often versions are reviewed, whether updates within a version are automatic — see security settings — and how a major upgrade would be tested. Pinning without a review cadence is how a system arrives at four years out of date with nobody having decided that.

What You Get