The version preview in the frontend rendering process basically selects only the live versions and then overlays those records with possible versions.
Since the MM handling is changed to directly point to the most specific version in that regard (this is a exception to the "always live, overlay then" approach), the versions also need to be selected directly. However, the ContentObjectRenderer uses PageRepository::enableFields() which adds an additional SQL WHERE part, like " AND tablename.pid<>-1" to exclude possible versions.
Besides that, elements (like sys_catagory) that are stored on the root-level cannot be queried at all which leads to custom code in the end just to perform these queries.
This change allows selections on the root-level and disables the "pid<>-1" constraint if the opposite has been defined in the pidInList property.