[Biopython-dev] Deprecation and removal policy

Peter biopython at maubp.freeserve.co.uk
Fri Nov 28 12:26:45 EST 2008

Back on 27 June 2008, in preparation for what became Biopython 1.47,
Michiel wrote:
> In recent releases, we have been using the rule of thumb to remove all
> modules from a new Biopython release that were deprecated two
> releases ago.

I was thinking that when we made releases about six months apart, this
rule of thumb effectively gave a year's warning.  Recently we're made
releases roughly every three months, which translates to only about
six months warning, so I think we should be a little more restrained
in removing deprecated code in future.

As an example, Bio.EUtils was deprecated in favour of Bio.Entrez in
Release 1.48 (Sept 2009).  Under the old rule of thumb, we could
remove this module from CVS now (as the deprecation was present in
Biopython 1.48 and 1.49).  If we release Biopython 1.50 in January or
February 2009 (for the sake of argument), that means the deprecation
would have been in place for only four or five months - which seems
too rash.

How about a new policy that after adding a deprecation warning,
deprecated modules/functions are kept for at least two public releases
AND at least 12 months (counting from the first release when they are
deprecated - not the date of the CVS change) before being removed?


More information about the Biopython-dev mailing list