If you must use the old way, you can still use the An uninstall profile is not required, but it is highly recommended.

This was always only partial, so you could not rely on it to fully cleanup the site. Best practice is to create an uninstall profile for all your packages.

If you were relying on this automatic cleanup, you need to add extra files to clean it up yourself.

And you logically get no error message about this, but you just miss a piece of html or some css or javascript is not loaded because this condition is False.

So you should go through your templates, search for the 'exists' keyword and check that everything that should be defined is actually defined.

Only one indexing operation is done per object on any transaction.

Some tests and features might expect that objects are being indexed/reindexed/unindexed right away.

The catalog metadata item get Icon used to be a string containing the file name of the appropriate icon (unused since Plone 4).

Since Plone 5.02 the catalog metadata item get Icon is reused for another purpose. Instead a mimetype icon (fetched from the mime type registry) is rendered as HTML tag ( - there would be too many fonts needed for all the mime types)in affected templates e.g.

This is the file Products/CMFPlone/browser/ploneview.py, specifically the method _initialize Data.