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 <[email protected]>
Sent: Tuesday, February 28, 2023 12:39 PM
To: [email protected]
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

Reply via email to