The Keycloak Upgrade Ledger

Every upgrade we have rehearsed, with the environment stated and the clock running.

2026-08-31 · run 2026-08-31-26.7.1-to-26.7.3-2

26.7.1 → 26.7.3 (run 2)

Upgrade
26.7.1 → 26.7.3
Scale
1 realm (lab), 1,000 users, 11 clients (5 seeded + 6 default), 1 group (corp + 3 children), 2 IdP brokers, 1 LDAP component, 1 organization, 1 fine-grained-authz client
Database
Postgres 16, single node
Topology
single container
Host
laptop (Arch Linux, docker 29.7.2 / compose 5.5.0)
Rehearsal
attempt 2 of 3 (clean) — this lab holds a path to three clean runs, one exercising rollback
Condition
routine — no adverse condition applied
Elapsed
16s

Environment

Identical to run 1 (2026-08-31-26.7.1-to-26.7.3-1) except:

Procedure

./bin/lab-down.sh --purge
./bin/lab-up.sh 26.7.1
./bin/seed-realm.sh --profile kitchen-sink --users 1000     # user-profile now seeds
./bin/snapshot.sh baseline-26.7.1-kitchen-sink-1k
./bin/upgrade.sh 26.7.3

Timings

PhaseDuration
Total to ready16s

Outcome

Breakage observed

None.

Rollback

Not exercised this run (exercised in run 3).

← All runs