Some charging problems have been reported, and it's been suggested that it could be a faulty charger rather than an issue with a firmware version.
Re problems with charging (via cable) due to hardware: a very useful helper is a cheap USB meter; it will show instantaneous voltage and current immediately, and with a little button-pressing will show the total mAh of a charge process. My charging problems have all been with cables going partly faulty; the charger was able to deliver the right current with another cable. I have never had a problem with a charger going faulty to provide less charge than it should (a dead charger is easy to detect). A problem with a phone (not Xiaomi) was due to a USB connector which only connected in a certain position, needing soldering inside the phone - this caused intermittent data transfer as well.
The charging cable makes a difference; one long, thin USB cable I have gives literally half the charging current that a short, thick one does.