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