“UCLASS, UENUM etc. declarations are now illegal outside of global scope. If you have a type which is nested inside a UCLASS or USTRUCT, they should be moved to global scope.”
This was a design decision to avoid a lot of extra overhead and partial implementations for a barely-used feature.
It was easy for me to find, because I made that change and wrote the corresponding release note.
In general, if you find something doesn’t work from one version to the next, look at the ‘Upgrade Notes’ section of the release notes. In theory, all breaking changes should be listed there.
Of course, sometimes things just break - then we rely on users to report them.