our production environment currently is still on 1.20.3, too, with Katello 3.9.
I can not confirm this, here the errata is listed as applicable to all affected hosts.
Since this is most likely a Katello problem, which version of Katello are you on?
Are your clients sending their package lists on yum actions properly and do the “Calculate Errata” Tasks in Foreman succeed?
I was asking because Foreman 1.20 was the only release I can recall with 2 Katello relases.
Since it is working on my end with 3.9, it would be a regression if this is the cause of your problem.
Generally speaking, updating to a more recent release would definitely be a good thing since 1.20/3.10 are EOL for some time now and a lot of bugs have been fixed in the meantime.
The current Verions would be Foreman 1.24/Katello 3.14, but Foreman 2.0/Katello 3.15 are right around the corner.
Should you decide to directly go for 2.0/3.15, keep in mind that Foreman 2.0 contains breaking changes like dropping support for MySQL as DB backend.
In any case, if you do upgrade, please remember that the Foreman/Katello should always be updated version by version and that a version jump will probably lead to inconsistencies. Also, make sure to follow Katello’s upgrade guide and not Foreman’s. Just mentioning this since I don’t know how much upgrade experience you have I have seen more than one user fall into those pits.
Keeping smart proxies and the main Server versions in sync is highly recommended. I assume they work with version differences, but keeping them in sync will ensure you won’t encounter unexpected bahaviour.
Differing versions of smart proxy and Foreman/Katello is pretty much untested.
Upgrading the smart proxies should happen as soon as possible after an upgrade of Foreman/Katello.