A release is a photograph of a project on one day. The day after, the world it describes has already moved. For a product like ip-api that drift is literal: addresses change hands, VPN providers rent new ranges, mail servers change how they answer.
Data goes stale on its own
Knowing which addresses belong to Tor exit nodes, proxies, VPNs, data centres and known threats is not a fact you learn once. It has to be kept current, all the time, and the hard part is invisible: data that silently stops updating looks exactly like data that is up to date. Noticing the difference is part of the job.
Sometimes the right answer is “I don’t know”
A recent change is a good example of maintenance that adds no feature. When a mail server answers a check with a temporary refusal, it means “not now” and says nothing about whether the mailbox exists. ip-api used to read too much into that. It now reports those addresses as inconclusive. The result is less decisive and more correct, which is the right trade for a tool other people build decisions on.
Someone has to be on call for it
An API that other products depend on has to answer at three in the morning as reliably as at noon, and has to have a plan for the day something breaks. Nobody notices that work when it is done well, which is the point of it.
None of this makes a launch announcement. All of it is part of making the thing.