You've probably noticed that some features / some details of file formats are mentioned as "deprecated". This means - the feature is still supported, but only for the sake of maintaining compatibility with older content that hasn't had a chance to update yet.
I've decided it's time to have a proper plan around how long such features will survive until they're culled altogether, and what I've come up with is - three major releases.
This means, for example, a feature that's deprecated in V12.7.0 will remain supported for three major versions (V12.7.0 itself, plus V12.8.0 and V12.9.0), then get culled in the next major release after that (ie: V12.10.0).
I don't expect deprecations in minor versions will happen very often, but if they do, the rule is three major versions - so for example, if V12.7.1 deprecated a feature, then support would remain for three major versions (V12.8.0, V12.9.0, V12.10.0) before being culled in V12.11.0.
This means that generally speaking, you'll have between 9 months and 1 year to upgrade content whenever things get deprecated.
Level pieces themself (terrain, objects, backgrounds) are exempt from this, and currently, there is no plan to cull deprecated pieces - however, you still shouldn't use them in new levels and should try to remove them from existing ones; as firstly this may change in the future, and secondly they're deprecated for a reason - usually that they're not needed anymore (eg. exit tops being deprecated due to secondary animations), or that there's a superior / fixed replacement. Note that this exception only applies to the actual pieces themself; not to the file formats behind them, or to any other aspects of styles.
As a special case, anything that was deprecated prior to V12.6.0 (but hasn't already been culled), will be treated as if it was deprecated in V12.6.0 exactly (and thus will be culled in V12.9.0, not sooner). For example, levels that use the "RELEASE_RATE" keyword (instead of the newer "SPAWN_INTERVAL" keyword) will remain working up to V12.8.X, but will need to be adjusted for V12.9.0 - I'm introducing a feature in V12.7.0 that will automate getting levels into the most up-to-date version of the format. EDIT: I've decided on a slight change here - no deprecation-related culls, where possible, will happen until V12.10.0.
Just to clarify: All level formats other than NXLV are considered deprecated already. Taking this schedule into account, V12.8.X V12.9.X will be the last version to have any support for them. If you do not get your content converted by then, you will need to dig up old versions to do so. Likewise for LRB format replays. V12.7.0 will come with a feature to assist with getting levels upgraded if any remain that haven't been yet; and I'll look into making a tool to convert LRB replays to NXRP.
To be clear - if I forget to remove a deprecated feature or overlook it in the major release that would normally cull it, any future update may do so without warning, including minor updates. However, if I specifically, intentionally say "I'll leave this one for a bit longer", then that applies.
Finally, exceptions may occur if maintaining backwards-compatibility would be extremely messy, or if there's no practical way to do so. I'll try to avoid this as much as possible, but it may happen from time to time.