[Biojava-dev] binary compatibility policy

Michael Heuer heuermh at gmail.com
Tue Mar 6 22:44:59 UTC 2012


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)



More information about the biojava-dev mailing list