When updating the system, there are often emerge messages that refer to older versions, and it's both time-consuming and error-prone for the user to read them each time and figure out if any of them are relevant.
I think the ebuilds should know which version of the package (in the same slot) it's being replaced (if any), so that they could output some messages only when they are relevant.
For example, a message saying "From version 4.0 feature X changed" would only be displayed when the previous version is <4.0.
Even just the fact of knowing whether this is an upgrade or a new install of the package is very useful: for example, ebuilds sometimes give advice of how to start using a newly-installed package, but such advice is unnecessary and surprising for the user during an upgrade.
I think that this feature would make the emerge messages more relevant to what the user is doing, so that the user will be encouraged to read them and she'll be more likely to notice the important things.
This isn't a single issue. If you could figure out which ebuilds show these irrelevant messages, you could file separate bug reports for each of them and then make them block this bug, which we could then turn into a "tracker" bug. Until then, this bug cannot be fixed or even addressed.
Is it possible to fix the issue just by modifying those ebuilds?
I thought that a portage modification was required (but I don't really know).
I.e.: can an ebuild know if it's a new install or an update?
If it's an update, does it know which is the currently-installed version?
Apparently it's possible to get that information by checking the value of REPLACING_VERSIONS.
I have opened a tracker bug: Bug 440214.