You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by Mike Beckerle <mb...@apache.org> on 2023/02/28 20:38:42 UTC

3.5.0 changes are breaking - should this be 4.0.0?

Some of the changes made in Daffodil as part of fixing major issues have
caused API changes that are not backward compatible.

A minor one has to do with the TDML runner.

A bigger one is the package name changes so that no package spans a Jar
file.

In general, this 3-part semantic versioning numbers the first digit is
changed when users can expect to have to adapt their code to changes.

What are people's thoughts on whether we should change 3.5.0-SNAPSHOT to
4.0.0-SNAPSHOT because we've made breaking changes?

Mike Beckerle
Apache Daffodil PMC | daffodil.apache.org
OGF DFDL Workgroup Co-Chair | www.ogf.org/ogf/doku.php/standards/dfdl/dfdl
Owl Cyber Defense | www.owlcyberdefense.com

Re: 3.5.0 changes are breaking - should this be 4.0.0?

Posted by Steve Lawrence <sl...@apache.org>.
I think we need more details about what exactly is broke. I believe the 
TDML, SAPI, and JAPI parts of daffodil did not change with OSGI, and I 
consider those the real "public" parts of daffodil. I would argue if our 
public parts are unchanged, then we probably don't need a 4.0.0 yet.

I think our schema regression suite has been broken for a while. For 
example, a number of shcema projects use DFDLTestSuite instead of Runner 
to call the tdml runner, which was made private a number of releases 
ago. We may only be realizing this is broken now, but isn't a new 
breakage caused by OSGI or changes in 3.5.0.

So getting a better picture of what broke and in what release is needed 
to better determine if a 4.0.0 is warranted. I suggest we update the 
regression suite to 3.4.0 (which we should have done as part of the 
release). Once those updates are made, we can update to a 3.5.0 snapshot 
and see what breaks. I'm guessing/hoping it's actually pretty small.

On 2023-02-28 04:00 PM, Interrante, John A (GE Research, US) wrote:
> Has anyone written code outside of the Daffodil codebase which will be broken by any of the 3.5.0 changes?  Is a Scala test file which uses the TDML runner to run one TDML test case affected by the minor change to the TDML runner?  Do the package name changes break the compilation of Scala/Java applications which invoke Daffodil from users' applications?  If the answer is yes, then I agree we should change to 4.0.0-SNAPSHOT and we might want to discuss making additional breaking changes which had been waiting for 4.0.0 like renaming some of Daffodil's modules.  I would like to see example user code for each breaking change as part of the release notes so that users will be more likely to notice what they need to change in their code.
> 
> John
> 
> -----Original Message-----
> From: Mike Beckerle <mb...@apache.org>
> Sent: Tuesday, February 28, 2023 12:39 PM
> To: dev@daffodil.apache.org
> Subject: EXT: 3.5.0 changes are breaking - should this be 4.0.0?
> 
> Some of the changes made in Daffodil as part of fixing major issues have caused API changes that are not backward compatible.
> 
> A minor one has to do with the TDML runner.
> 
> A bigger one is the package name changes so that no package spans a Jar file.
> 
> In general, this 3-part semantic versioning numbers the first digit is changed when users can expect to have to adapt their code to changes.
> 
> What are people's thoughts on whether we should change 3.5.0-SNAPSHOT to 4.0.0-SNAPSHOT because we've made breaking changes?
> 
> Mike Beckerle
> Apache Daffodil PMC | daffodil.apache.org OGF DFDL Workgroup Co-Chair | www.ogf.org/ogf/doku.php/standards/dfdl/dfdl
> Owl Cyber Defense | www.owlcyberdefense.com


RE: 3.5.0 changes are breaking - should this be 4.0.0?

Posted by "Interrante, John A (GE Research, US)" <Jo...@ge.com>.
Has anyone written code outside of the Daffodil codebase which will be broken by any of the 3.5.0 changes?  Is a Scala test file which uses the TDML runner to run one TDML test case affected by the minor change to the TDML runner?  Do the package name changes break the compilation of Scala/Java applications which invoke Daffodil from users' applications?  If the answer is yes, then I agree we should change to 4.0.0-SNAPSHOT and we might want to discuss making additional breaking changes which had been waiting for 4.0.0 like renaming some of Daffodil's modules.  I would like to see example user code for each breaking change as part of the release notes so that users will be more likely to notice what they need to change in their code.

John

-----Original Message-----
From: Mike Beckerle <mb...@apache.org> 
Sent: Tuesday, February 28, 2023 12:39 PM
To: dev@daffodil.apache.org
Subject: EXT: 3.5.0 changes are breaking - should this be 4.0.0?

Some of the changes made in Daffodil as part of fixing major issues have caused API changes that are not backward compatible.

A minor one has to do with the TDML runner.

A bigger one is the package name changes so that no package spans a Jar file.

In general, this 3-part semantic versioning numbers the first digit is changed when users can expect to have to adapt their code to changes.

What are people's thoughts on whether we should change 3.5.0-SNAPSHOT to 4.0.0-SNAPSHOT because we've made breaking changes?

Mike Beckerle
Apache Daffodil PMC | daffodil.apache.org OGF DFDL Workgroup Co-Chair | www.ogf.org/ogf/doku.php/standards/dfdl/dfdl
Owl Cyber Defense | www.owlcyberdefense.com