The Keycloak Upgrade Ledger

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

2026-08-26 · run 2026-08-26-kc-services0047-not-new-in-26

KC-SERVICES0047 (internal eventsListener SPI warning) — present on 25.0.6, not new in 26

Database
Postgres 16, fresh empty DB per version
Topology
single container
Host
Hetzner ccx33 (8 vCPU / 32 GB)
Rehearsal
attempt 1 of 1 — this lab holds a path to three clean runs, one exercising rollback

Environment

FieldValue
Keycloak versions25.0.6 and 26.0.0, same provider jar on both
Distributionquay.io/keycloak/keycloak (official image)
Start modestart w/ external DB
DatabasePostgres 16, fresh empty DB per version
Provider under testlab-event-listener (fixtures/spi), built against 25.0.6 via bin/build-spi.sh 25.0.6
Topologysingle container
HostHetzner ccx33 (8 vCPU / 32 GB)

Procedure

./bin/build-spi.sh 25.0.6          # lab-event-listener-built-for-25.0.6.jar
# per version: down -v, set KC_VERSION, up db+keycloak, wait-ready
docker compose logs keycloak | grep -i "KC-SERVICES0047"

The jar is mounted at /opt/keycloak/providers (compose default).

Result

Both versions emit the warning at provider load:

WARN [org.keycloak.services] KC-SERVICES0047: lab-event-listener
  (lab.LabEventListenerProviderFactory) is implementing the internal SPI
  eventsListener. This SPI is internal and may change without notice
VersionKC-SERVICES0047 emitted?
25.0.6yes
26.0.0yes

The warning is not new in 26. It was present in 25.0.6. The earlier record (2026-08-25-s7-custom-spi) had left this unchecked and warned against claiming it was new in 26; that caution was correct, and the claim is now refuted.

Verification

ClaimPrimary sourceChecked
Warning appears on 25.0.6docker compose logs keycloak on 25.0.6
Warning appears on 26.0.0 (same jar)docker compose logs keycloak on 26.0.0
Same provider on both (attributable jar)jar filename records build version
Earliest release that emits itnot checked — only 25.0.6 and 26.0.0

← Back to the Ledger