Deprecation process documented?

Jonathan M Davis via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Feb 24 01:20:17 PST 2015


On Tuesday, February 24, 2015 08:49:55 Jacob Carlborg via Digitalmars-d-learn wrote:
> Is the deprecation process used for Phobos and druntime code documented
> somewhere? I.e. how long after a deprecation is a symbols removed and so on.

No, it's not documented. I really should put it up on the wiki. The current
process is that if the replacement for the symbol is being introduced at the
same time, the old symbol will be marked as deprecated for a release (so
that it's possible for code to build on both the latest release and on
master without getting deprecation messages with either). If there is no
replacement, or the replacement already exists, then that's not necessary.
After that, the symbol is deprecated but documented for about a year. Then
it's undocumented but remains there and deprecated for about another year,
and then it finally gets removed entirely.

Release dates tend to screw with how consistent the timing is (since the
release dates generally haven't been consistent or even necessarily
frequent), and sometimes we adjust it depending on the particular
circumstances of a symbol. And of course, we've been trying to deprecate
stuff rarely for a while now, so there isn't much going through the
deprecation process at the moment. But that's approximately what we've been
doing with the deprecation process for a while now.

If anything sits in a particular stage of the deprecation cycle for longer
than that, it's typically either because I didn't get around to moving it
along when I was supposed to or because someone else deprecated it and
didn't mark it the way that I normally mark them, in which case, I sometimes
miss those.

- Jonathan M Davis



More information about the Digitalmars-d-learn mailing list