[Biojava-dev] binary compatibility policy

Michael Heuer heuermh at gmail.com
Wed Mar 7 22:11:58 UTC 2012


I'm only targeting biojava-legacy for now.  Hannes and I are
discussing changes for biojava3 off-list, taking into consideration
his recent improvements there.

   michael


On Tue, Mar 6, 2012 at 6:18 PM, Andreas Prlic <andreas at sdsc.edu> wrote:
> both 1.8.1. and 1.9 are good names IMHO... Did you do the changes also
> in the 3.X copy of this?
>
> Andreas
>
> On Tue, Mar 6, 2012 at 2:44 PM, Michael Heuer <heuermh at gmail.com> wrote:
>> Hello,
>>
>> I was wondering what the policy is with regards to binary
>> compatibility between releases.  I have some changes to FASTQ support
>> in mind which result in the following binary incompatible changes.
>>
>> Is it ok to make such changes?  I would argue that it is:
>> FastqVariant is final and an enum, so it should not possible for
>> client code to be effected.  Likewise, IlluminaFastqReader,
>> SangerFastqReader, SolexaFastqReader are all final classes.
>>
>> If ok, should the next version of biojava-legacy be 1.8.2, 1.9 or 2.0?
>>  I would prefer marking the validateXxx methods as @deprecated in
>> 1.8.2 and then releasing 1.9 with the new changes.
>>
>>   michael
>>
>>
>> The results of clirr between my working directory and version 1.8.1 are
>>
>> Error   Added abstract modifier to
>> class   org.biojava.bio.program.fastq.FastqVariant
>> Error   Abstract method 'public double errorProbability(int)' has been
>> added   org.biojava.bio.program.fastq.FastqVariant      public double
>> errorProbability(int)
>> Error   Abstract method 'public int maximumQualityScore()' has been
>> added   org.biojava.bio.program.fastq.FastqVariant      public int
>> maximumQualityScore()
>> Error   Abstract method 'public int minimumQualityScore()' has been
>> added   org.biojava.bio.program.fastq.FastqVariant      public int
>> minimumQualityScore()
>> Error   Abstract method 'public int qualityScore(char)' has been
>> added   org.biojava.bio.program.fastq.FastqVariant      public int
>> qualityScore(char)
>> Error   Method 'protected void
>> validateDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.IlluminaFastqReader       protected
>> void validateDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateQuality(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.IlluminaFastqReader       protected
>> void validateQuality(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateRepeatDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.IlluminaFastqReader       protected
>> void validateRepeatDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateSequence(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.IlluminaFastqReader       protected
>> void validateSequence(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.SangerFastqReader protected void
>> validateDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateQuality(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.SangerFastqReader protected void
>> validateQuality(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateRepeatDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.SangerFastqReader protected void
>> validateRepeatDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateSequence(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.SangerFastqReader protected void
>> validateSequence(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.SolexaFastqReader protected void
>> validateDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateQuality(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.SolexaFastqReader protected void
>> validateQuality(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateRepeatDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.SolexaFastqReader protected void
>> validateRepeatDescription(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> Error   Method 'protected void
>> validateSequence(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)' has been
>> removed org.biojava.bio.program.fastq.SolexaFastqReader protected void
>> validateSequence(org.biojava.bio.program.fastq.FastqBuilder,
>> java.lang.String, int)
>> _______________________________________________
>> biojava-dev mailing list
>> biojava-dev at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/biojava-dev




More information about the biojava-dev mailing list