In join scripts, we register extensions with ucs_registerLDAPExtension --endversion $X That $X has been set to 5.99 in some cases because we thought we can be forward compatible. But we cannot. Python 3.11 (upcoming UCS 5.2) has slight incompatibilities with Python 3.7. So we should not make promises until UCS 5.99, but only until 5.0-99. In UCS 5.2, though, we will have to write all our extensions backwards compatible and use --startversion 5.0-0 - but that is out of scope for this issue at hand. https://git.knut.univention.de/univention/ucs/-/issues/1510
All extensions are in fact forward compatible. So we can work with 5.99