TetGen.jl icon indicating copy to clipboard operation
TetGen.jl copied to clipboard

Provide several TetGen versions in the JLL (?)

Open j-fu opened this issue 6 months ago • 2 comments

The current jll uses TetGen 1.5.1 hosted at https://github.com/ufz/tetgen . @sihang0592 and myself (@j-fu) plan to continue TetGen development on https://codeberg.org/TetGen/TetGen .

That repo provides the 1.5.1 and 1.6.0 versions, and we hope to have a bugfix release 1.6.1 hopefully soon.

Once 1.6.1 is out, the following issue will arise:

While the API is non-breaking, changes in the algorithm may lead to different behavior, depending on the tetgen version.

A remedy may be to provide both (and in may be in the future multiple) versions of TetGen in the jll. For an implementation, on the C++ level, this could be realized via namespaces.

On the Julia API level we could have something like TetGen.version!(v"1.6.0") with 1.5.1 being the default, so this would be non-breaking.

@SimonDanisch : What do you think about this ? Also, may be you have another idea how to work with TetGen versions in a flexible way ?

j-fu avatar Jul 22 '25 14:07 j-fu

Are you planning to split development between 1.5 and 1.6? In other words, new 1.5 versions and new 1.6 versions separately as if they are different packages? If not, and 1.6 is the way to go in the future, I'd just let people add ]add [email protected] for the old version, and release a new breaking version with Tetgen 1.6. People need to upgrade eventually, and if they really need the old behavior they can still pin the old version for a long time.

SimonDanisch avatar Jul 22 '25 16:07 SimonDanisch

No, there is no plan to split development between these versions.

Ok, so we would go with the standard and add an "equivalence table" to the README.

j-fu avatar Jul 22 '25 16:07 j-fu