All components specify the python packages they require. If a component requests a strict version, then yes HA will downgrade it at startup. I think that will appear in your log file.
You can avoid this by starting HA with the --skip-pip flag (described in the development docs). But be careful. There’s a good chance that dependency is locked to that version for a reason, and upgrading it may have unintended side effects.
Thanks. I checked the component (in my case Switch/mochad.py) and it doesn’t have a strict version number. I understand that I can override the component version locally (from your linked doc) but now i’m curious where HASS stores the ‘requirements_all.txt’ information. It does indeed contain the old version of the component but how HASS determines the packages it needs to upgrade/downgrade is a mystery to me.
Ahhh thanks, indeed the component .py contains the REQUIREMENT string. Updating it to a newer version of the dependency does indeed install the newer package upon startup.