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