(i made this same post in an other thread already, but though it makes more sense to have it in a separate one)
i propose...
that when stuff like tags get deprecated:
- a "convenience" thing gets added, that makes them work as they did before
- it gets marked as deprecated in engine code (together with the date of deprecation)
- it gets an entry in the changelog
- a description of why it was removed, and how to fix related lua code has to be provided somewhere .. not sure where best.. probably in a comment in code, next to the @deprecated tag?
at most once a year, there will be an engine release where these depreacted things get removed for real, and only those that were deprecated at least 6 months before that release.
This release will of course be announced as a special release in this sense, and a list of all removed tags with the description will be added (actually, we could theoretically just link to the one commit that removes all of them, as it also contains the descriptions that explain how to fix code, if that is in engine code as comments).
this leaves at least a chance for different engine releases to run a single version of a mod, and is therefore kind of a nessesity for multi-engine-version support too. it also means casually maintained games are less painfull to play, as once fixed, they might run for half a year on latest engine versions (in average).
game devs could decide to use newer engine versions when they please, and roll back on an older one if the new one is too buggy.
the added ugliness that "conveinence way" code adds to the engine is negliable. it is clearly marked, little, isolated code, that can be removed without doin other engine internal changes. that is the most beautiful of all the ugly code that spring has, and .. yeah it has other stuff.
