Software is different from hardware in that it costs the developer next to nothing to allow free or discounted upgrade (depending on how long ago the app was purchased). Yes, the developer has put in lots of work and he should be compensated as such, but penalizing royal customers isn't the way to do it. There should be free or heavily discounted upgrade if the purchase was within 30 days.
Now as I said before, I realize App Store does not have such upgrade pricing option. And the developer has publicly said if he could, he would offer free upgrade for recent purchases and discount for earlier purchases. So I am not necessarily blaming the developer, although I think he has few options to work around the issue (e.g., promotional pricing, promo code for select few, in-app option for premium new features).
Some have said, hey, don't be cheap, it's only $2.99. Yes, it's $2.99 if you are a new customer, but $5.98 if you are coming from 1.x. $5.98 may not be a king's ransom, but as occasional user of Twitter (I have only a dozen DM followers), it's more than I am willing to spend. Especially when there are many cheaper alternatives. To those that argue, then don't upgrade, I won't. But I am peeved that I am stuck with an older app when if I had just waited a little bit longer, I would've had the latest.